在ASP.NET MVC C#中使用Jquery更新部分视图
我正在使用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);
如上所述,我看到的只是显示的部分视图而不是整个表单。
window.location.href
将重新加载整个页面。 您需要重新加载页面的某些部分而不需要完全重新加载。 我们可以使用jQuery ajax来做到这一点。 让我们看看你可以用什么jQuery选择器来获得Partialview。
例如,假设您的HTML标记在主窗体中是这样的(视图)
Some content
@Html.Partial("_FeaturedProduct") Some other content
在这里, ID
myPartialViewContainer
的DIV
是Container div,它保存了partial view
的内容。因此我们将使用jQuery 加载方法简单地重新加载该div的内容
$(function(){ $('#activelist,#inactivelist').change(function () { var id="someval"; var status = 'inactive'; $("#myPartialViewContainer").load('@Url.Action("Skits","KitSection")' + '?id=' + id+ '&status=' + status) }); });
您正在通过window.location.href属性将用户重定向到部分的URL,因此仅显示该部分。
您应该对partial执行AJAX调用以检索它的HTML,然后使用类似.append方法的内容将其添加到您希望将其添加到的任何容器元素中。
编辑:.load()jQuery ajax方法实际上更适合这种特定情况。