我的webgrid有问题,在我的一个专栏中,我有一个带有点击功能的JavaScript的动作链接,一切正常。但在我对任何列进行排序或分页后,我的JavaScript停止工作。我已经删除了ajaxupdatecontainerID
属性,我的JavaScript在分页后工作,但我不能再对列进行排序了,在分页后,浏览器滚动到页面顶部。检查下面的代码:
<div id="grider">
@{ var grid3 = new WebGrid(Model.webgridlastlopp.ToList(), rowsPerPage: 10, defaultSort: "Status", canPage: true, ajaxUpdateContainerId: "grider");}
@grid3.GetHtml(tableStyle: "webgrid",
headerStyle: "webgrid-header",
footerStyle: "webgrid-footer",
alternatingRowStyle: "webgrid-alternating-row",
selectedRowStyle: "webgrid-selected-row",
rowStyle: "webgrid-row-style",
grid3.Column("Startstation", "Start station/kombiterminal"),
grid3.Column("Slutstation", "Slut station/kombiterminal"),
grid3.Column("Upphämtningsdatum", "Startdatum", format: @<text>@item.Upphämtningsdatum.ToString("yyyy/MM/dd")</text>),
grid3.Column("Leveransdatum", "Leveransdatum", format: @<text>@item.Leveransdatum.ToString("yyyy/MM/dd")</text>),
grid3.Column(format: (item) => Html.ActionLink("Visa detaljer", "OrderDetails", "Home", new { id = item.Ordernummer }, new { @class = "modal", @Style = "color:Gray;" }))
))
</div>
<script type="text/javascript">
$(function () {
$('.modal').click(function () {
alert("hello");
});
</script>
答案 0 :(得分:1)
在您翻页时,新的HTML正在加载到页面中。因此,您需要使用jQuery live
方法:
<script type="text/javascript">
$(function () {
$('.modal').live('click', function () {
alert("hello");
});
</script>
答案 1 :(得分:0)
在您的代码中添加对属性
的js函数的引用 @{
var grid3 = new WebGrid(
Model.webgridlastlopp.ToList(),
rowsPerPage: 10,
defaultSort: "Status",
canPage: true,
ajaxUpdateContainerId: "grider",
ajaxUpdateCallback: "GridUpdate");
}
js功能
function GridUpdate(data) {
applyGridChanges();
}