Jquery选项卡未在IE 8中加载部分视图

时间:2011-02-03 13:38:18

标签: jquery asp.net asp.net-mvc tabs

场景:使用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
    }

}

1 个答案:

答案 0 :(得分:0)

尝试将代码放入就绪函数中。在设置函数以引用#tab元素时,DOM可能没有完全加载或准备好进行操作。

$().ready(function() {
    $(function () {        
        $("#tabs").tabs();
    });
});