【问题标题】:Updating partial view with Jquery in ASP.NET MVC C#在 ASP.NET MVC C# 中使用 Jquery 更新部分视图
【发布时间】:2012-06-20 14:54:12
【问题描述】:

我正在使用 MVC C# 和 Jquery。

我在一个相当大的页面中有一个部分视图,其中包含许多选项卡。

点击一个复选框,我喜欢更新表单内的局部视图。 我得到的只是部分视图

这是我在 Jquery 中的代码:

   $('#activelist,#inactivelist').change(function () {

        var status = 'inactive';
        window.location.href = '@Url.Action("Skits","KitSection")' + '?id=' + id+ '&status=' + status;

    });

关于如何更新表单中的局部视图,以及如何调用它有什么想法吗?

这是 PartialView 的代码

     return PartialView(Kits);

如前所述,我看到的只是显示的部分视图,而不是整个表单。

【问题讨论】:

    标签: c# jquery asp.net-mvc partial-views


    【解决方案1】:

    window.location.href 将重新加载整个页面。您需要重新加载页面的某些部分而无需完全重新加载。我们可以使用 jQuery ajax 来做到这一点。让我们找出可以用来获取 Partialview 的 jQuery 选择器。

    例如,假设您的 HTML 标记在主窗体(视图)中是这样的

    <div>
      <p>Some content</p>
      <div id="myPartialViewContainer">
          @Html.Partial("_FeaturedProduct")
      </div>
      <div>Some other content</div>
    </div>
    

    这里的DIVID myPartialViewContainer 是包含partial view 内容的Container div。所以我们将使用jQuery load 方法简单地重新加载该div 的内容

    $(function(){
    
       $('#activelist,#inactivelist').change(function () {
          var id="someval"; 
          var status = 'inactive';
          $("#myPartialViewContainer").load('@Url.Action("Skits","KitSection")' + '?id=' + id+ '&status=' + status)
      });
    
    });
    

    【讨论】:

      【解决方案2】:

      您通过 window.location.href 属性将用户重定向到您的部分的 URL,因此只显示该部分。

      您应该改为对部分执行 AJAX 调用以检索它的 HTML,然后使用类似 .append 方法将其添加到您希望将其添加到的任何容器元素中。

      编辑:.load() jQuery ajax 方法实际上更适合这种特定情况。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-23
        • 2014-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多