如何在 Asp.net Core 3.1 中使用 Ajax 刷新或重新加载 ViewComponent?

Posted

技术标签:

【中文标题】如何在 Asp.net Core 3.1 中使用 Ajax 刷新或重新加载 ViewComponent?【英文标题】:How to refresh or reload a ViewComponent with Ajax in Asp.net Core 3.1? 【发布时间】:2021-10-27 02:12:33 【问题描述】:

我希望 FavoriteComponent 在单击“a”标签时刷新?

html

<div id="favarite-user">
   
        @await Component.InvokeAsync("FavoriteComponent")        
</div>

动作HTML:

<a id="add-fav" onclick="addfavorite('@product.Id')"></a>

jQuery :

 $.ajax(
    type: "post",
    url: '@Url.Action("AddFavorite", "Product")',
    data:  id: id ,          
).done(function (msg) 
    if (msg.status === 'added')               
        $('#favarite-user').load(' #favarite-user')
    

);

控制器:

 public IActionResult AddFavorite(Guid id)
               
        bool fav = _scope.AddFavorite(id, Guid.Parse(CurrentUserId));
        if (fav == true)
        
            //return ViewComponent("FavoriteComponent");
          return Json(new  status = "added" );
        
        return Json(new  status = "removed" );
       

【问题讨论】:

【参考方案1】:

这段代码对我有用:

$.ajax(
    type: "post",
    url: '@Url.Action("AddFavorite", "Product")',
    data:  id: id ,          
).done(function (msg) 
    if (msg.status === 'added')               
        $('#favarite-user').load(' #favarite-user')
    
);

【讨论】:

这是一个问题还是一个答案? 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。 @novonimo 这是答案和问题...我有一些 jqury 代码,当这个函数没有执行时它可以工作,但在执行后它不起作用 您可以在原始问题下方的 cmets 中提出您的问题。

以上是关于如何在 Asp.net Core 3.1 中使用 Ajax 刷新或重新加载 ViewComponent?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Asp.net Core 3.1 中使用 Ajax 刷新或重新加载 ViewComponent?

如何使用 C# 在 ASP.NET Core 3.1 MVC 中使用会话变量

如何正确解析要在 ASP.NET Core 3.1 的 ConfigureServices() 中使用的服务?

如何使用 Visual Studio 2019 在 Docker 容器中运行 ASP.NET Core 3.1 项目?

如何在我的 asp.net core 3.1 应用程序中播种用户和角色?

如何在 ASP.NET Core 3.1 中逐行迭代列表