【发布时间】:2011-02-03 13:38:17
【问题描述】:
场景:使用 MVC3 &Razor 将部分视图加载到 jquery 选项卡(Ajax 模式)中。在 FF 中可以正常工作,但在 IE8 或 IE7 中不行。
问题:我可以很好地跟踪 firebug 中的 ajax 请求和响应,并查看从服务器返回的部分视图(包含 JqGrid Html Helper 方法)。这在 firefox 的选项卡容器中加载得很好。但在 IE 中什么也没发生,我当我使用 Fiddler 时,看不到任何 ajax 请求因更改选项卡而被触发。当我初始化 jq 选项卡时,我尝试使用 ajaxOptions 无济于事。我在 MVC2 上遇到过这个问题,我采取了静态放置选项卡内容的方法,这次我不想这样做,因为我需要延迟加载。任何帮助将不胜感激,因为我已经用尽了所有途径,谢谢。 :) 下面是来自 IE8 的完整页面源转储,使用 razor 视图引擎重新呈现。
(所有 Csss 和 JS 库的链接)
<script type="text/javascript">
$(document).ready(function () {
$("#tabs").tabs();
});
</script>
</head>
<body>
<h2>Index</h2>
<div id="tabs">
<ul>
<li><a href="/"><span>Home</span></a> </li>
<li><a href="/ServicesMonitored/GetServicesMonitoredTab"><span>Monitored Services</span></a> </li>
<li><a href="/ServicesMonitored/GetServicesFullTab"><span>Full Services</span></a></li>
</ul>
</div>
</body>
</html>
来自控制器:
公共类 ServicesMonitoredController : 控制器 {
IServicesMonitoredRepository<ServiceHeaderInfo,InfoDataItem> Services;
public ServicesMonitoredController() {
Services = new ServicesMonitoredRepository();
}
public ActionResult GetServicesMonitoredTab()
{
return PartialView("ServicesMonitoredTab");
}
public ActionResult GetServicesFullTab()
{
return PartialView("ServicesFullTab");
}
#region Return Services
[HttpPost]
public JsonResult ReturnServices(string sidx, string sord, int page, int rows)
{ blahblahblah For JqGrid residing in tabs
}
}
【问题讨论】:
标签: jquery asp.net asp.net-mvc tabs