2010-08-26 95 views
0

一个控制器我有一个主页如何处理标签页按标签

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title> 
    <link href="../../Content/jquery-ui-1.8.4.custom.css" rel="stylesheet" type="text/css" /> 
    <script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
    <script src="../../Scripts/JQueryUI.js" type="text/javascript"></script> 
</head> 
<body> 
    <div> 
     <div id="tabs"> 
      <ul> 
       <li><%=Html.TabLink("Home","Index","Home")%></li> 
       <li><%=Html.TabLink("Posts","Index","Posts") %></li> 
       <li><%=Html.TabLink("About", "Index", "About") %></li> 
      </ul> 
     </div>  
     <asp:ContentPlaceHolder ID="MainContent" runat="server"> 
     </asp:ContentPlaceHolder> 
     <script type="text/javascript"> 
       $(function() { 
        $("#tabs").tabs(); 
       }); 
     </script> 
    </div> 
</body> 
</html> 

的TabLink是这使得下面的标记的扩展方法内的以下标记:

<ul> 
    <li><a href="/Home/Index"><span>Home</span></a></li> 
    <li><a href="/Posts/Index"><span>Posts</span></a></li> 
    <li><a href="/About/Index"><span>About</span></a></li> 
</ul> 

每个局部视图(如_index.aspx)有这样的标记:

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
    Index 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
    <div id="tabs-1"> Hello from tab1 
    </div> 
</asp:Content> 

jQuery选项卡异步加载每个视图,howeve它还会在每次点击标签时下载javascript和css文件。并且它也留下了链接标记(意味着与jquerified标签一起),并且在IE8中完全不起作用,并且与firefox和chrome不一致。

任何我错过或建议将不胜感激。

回答

1

您应该使用部分视图,但您似乎使用母版页的常规视图。

局部视图看起来像这样

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<object>" %> 

<div id="tabs-1"> 
    Hello from tab1 
</div> 
+0

因为我已经更新它是这样的。谢谢 – bonskijr 2010-08-26 13:56:12