场景:使用MVC3& Razor将部分视图加载到jquery选项卡(Ajax模式)。在FF中工作正常但在IE8或IE7中没有。
问题:我可以跟踪ajax请求&在firebug中的响应很好并且看到从服务器返回的部分视图(包含JqGrid Html Helper方法)。这在firefox中的tab conatiners中加载很好。但在IE中没有任何反应,我无法看到任何ajax请求在更改标签时被触发使用Fiddler.Ive尝试使用ajaxOptions时,我初始化jq Tabs无济于事。我已经在MVC2上遇到了这个问题,我使用静态放置标签内容,这次我不想要,因为我需要延迟加载。 Anyhelp将非常感激,因为我已经筋疲力尽了所有的大道,谢谢。 :)下面是来自IE8的整页源转储,使用剃刀视图引擎重新编译。
(链接到所有Css和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>
来自控制器:
public class ServicesMonitoredController:Controller {
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
}
}
答案 0 :(得分:0)
尝试将代码放入就绪函数中。在设置函数以引用#tab元素时,DOM可能没有完全加载或准备好进行操作。
$().ready(function() {
$(function () {
$("#tabs").tabs();
});
});