Javascript jQuery对话框在浏览器中跳转到整页
我有一个带有WebGrid的对话框,其中显示了项目列表:Javascript jQuery对话框在浏览器中跳转到整页,javascript,jquery,dialog,Javascript,Jquery,Dialog,我有一个带有WebGrid的对话框,其中显示了项目列表: @if (Model.ItemsByLocation != null) { @grid.GetHtml( tableStyle: "table", fillEmptyRows: true, headerStyle: "header", footerStyle: "footer", mode: WebGridPagerModes.All, firstText: "<<Fi
@if (Model.ItemsByLocation != null)
{
@grid.GetHtml(
tableStyle: "table",
fillEmptyRows: true,
headerStyle: "header",
footerStyle: "footer",
mode: WebGridPagerModes.All,
firstText: "<<First",
previousText: "<Prev",
nextText: "Next>",
lastText: "Last>>",
htmlAttributes: new { id = "grid"},
columns: new []
{
//grid.Column("ItemNumber", "Item"),
grid.Column(header: "Item Number", format: (item) => Html.ActionLink((string)item.ItemNumber, "ShowItem", "Inventory", new { id = item.ItemNumber.ToString()}, new {onclick = "GetItemDetails(" + item.ItemNumber.ToString() + ");"})),
grid.Column("ItemDescription","Desc"),
grid.Column("ItemSerialNumber","SN"),
grid.Column("itemLocationSite","Site"),
grid.Column("ItemLocationBuilding","Bldg"),
grid.Column("ItemLocationFloor","Flr"),
grid.Column("ItemLocationOffice","Off"),
grid.Column("ItemTypeDescription","Type"),
grid.Column("FirstName","First"),
grid.Column("LastName","Last")
})
}
else {
<p><i>No item to display</i></p>
}
这会在第一个对话框的顶部显示另一个对话框,但仅显示第二个或两个对话框,然后两个对话框都关闭,第二个对话框中的数据在浏览器中显示为整页。你知道为什么吗
这是有关详细信息的对话框:
$(document).ready(function () {
//debugger;
$("#divDetails").dialog({
autoOpen: false,
width: 'auto',
resizable: true,
title: 'Item Details',
modal: true,
closeOnEscape: false,
show: {
effect: 'drop', direction: 'up'
},
buttons: {
"OK": function () {
$(this).dialog("close");
}
}
}).prev("ui-dialog-titlebar").css("background", "#FF3300");
$(".dialog").click(function () {
$("#divDetails").dialog("open");
});
});
<div id="divDetails" style="display:none" class="ui-dialog-titlebar ui-widget-header">
</div>
$(文档).ready(函数(){
//调试器;
$(“#divDetails”)。对话框({
自动打开:错误,
宽度:“自动”,
可调整大小:正确,
标题:“项目详细信息”,
莫代尔:是的,
closeOnEscape:错误,
展示:{
效果:“下降”,方向:“上升”
},
按钮:{
“OK”:函数(){
$(此).dialog(“关闭”);
}
}
}).prev(“ui对话框标题栏”).css(“背景”,“#FF3300”);
$(“.dialog”)。单击(函数(){
$(“#divDetails”)。对话框(“打开”);
});
});
我在代码中设置了一些断点,在显示第二个对话框后,调用控制器索引函数。这是怎么发生的?如果我从链接中删除ShowItem,它就会这样做,但如果我将其放回链接中,它会调用ShowItem函数两次。为什么?我仍然不知道问题出在哪里,但如果我将webgrid列更改为此,它就可以正常工作:
grid.Column(header: "Item Number", format:@<a href="#" onclick="GetItemDetails(@item.ItemNumber.ToString());return false;">@item.ItemNumber.ToString()</a>),
网格列(标题:“项目编号”,格式:@),
grid.Column(header: "Item Number", format:@<a href="#" onclick="GetItemDetails(@item.ItemNumber.ToString());return false;">@item.ItemNumber.ToString()</a>),