Ajax分页与部分在MVC 4中消失
本文关键字:MVC 消失 分页 Ajax | 更新日期: 2023-09-27 17:51:11
我使用Ajax来填充部分。
当我点击主页上的链接时,部分正确填充。如果我单击另一个链接(它们的列表),它会重新填充。
在我的偏部分中,我有一个属性表。只要单击页面按钮或标题(按顺序排序),表格就会消失。并且该列表不再用于重新填充。
有人知道为什么吗?
Properties.cshtml
partial.
@model IEnumerable<ns.Models.Property>
@{
WebGrid table = new WebGrid(ajaxUpdateContainerId: "properties-partial");
table.Bind(Model);
}
@table.GetHtml()
我的main.cshtml
页面。
<div id="properties-partial">
</div>
@Ajax.ActionLink(
item.Title,
"Properties",
"Home",
new { propertyId = item.propertyId},
new AjaxOptions { UpdateTargetId = "properties-partial" })
我已经检查了在firefox中正在进行的调用,并直接键入url,看起来很好(带来了正确的数据页)。这就像它在分页后没有附加到部分,从那时起就中断了它。
解决方案是将表包装在局部的div中。并指定为ajaxUpdateContainerID
。
@model IEnumerable<ns.Models.Property>
@{
WebGrid table = new WebGrid(Model, ajaxUpdateContainerId: "tablediv");
}
<div id="tablediv">
@table.GetHtml()
</div>
我也遇到了同样的偏导数问题,并通过下面的操作来克服:
@model IEnumerable<ns.Models.Property>
@{
if (Model != null && Model.Count > 0)
{
var testWebGrid = new WebGrid(Model, canPage: true, rowsPerPage: 10, ajaxUpdateContainerId: "testTableDiv");
<div id="testTableDiv">
<div id="testGridDiv">
@testWebGrid.GetHtml(mode: WebGridPagerModes.All, footerStyle: "pager")
</div>
@testWebGrid.Pager()
</div>
}
}
jQuery(使用它的类删除分页栏):
$(document).ready(function () {
$(".pager").remove();
});
希望这有帮助!!