2009-12-09 99 views
0

我使用asp.net与jQuery一起。在Default.aspx中我已经实现了一些jquery选项卡,它们通过ajax调用来加载它们的数据。他们加载另一个asp.net页面MyTab.aspx。我的问题是,当我在标签(MyTab.aspx)导航它总是重新加载整个页面(全Default.aspx的),但我只希望它的标签内重新加载。例如,添加项目时,我只想要重新加载选项卡。asp.net jquery选项卡和更新面板

所以我在MyTab.aspx里添加了一个updatepanel。现在的问题是,Default.aspx上的所有链接都被打破,点击时只是在整个窗口中打开选定的选项卡。很奇怪,但我已经读过,有时可能会让jQuery更新面板工作变得麻烦。

下面你可以看到我的代码,有什么我可以做不同的得到它的工作?

Default.aspx中:

<html> 
    <head runat="server"> 
     <script type="text/javascript"> 
      $(function() { 
       $('.tabs').tabs(); 
      }); 
     </script> 
    </head> 
    <body> 
    <form id="form1" runat="server"> 
     <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" /> 
     <div class="tabs"> 
      <ul> 
       <li><a href="#PanelTab">Tab0</a></li> 
       <li><a href='MyTab.aspx?type=1'>Tab1</a></li> 
       <li><a href='MyTab.aspx?type=2'>Tab2</a></li> 
      </ul> 
      <div id="PanelTab">Content0</div> 
     </div> 
    </form> 
    <body> 
<html> 

在MyTab.aspx:

<html> 
    <body> 
     <form id="formTab" runat="server"> 
      <asp:ScriptManager ID="ScriptManagerTab" runat="server" EnablePartialRendering="true" /> 
      <asp:UpdatePanel runat="server" ChildrenAsTriggers="true" ID="UpdatePanelList" UpdateMode="Always"> 
       <ContentTemplate> 
        <asp:SqlDataSource ID="DSTab" 
         runat="server" 
         DataSourceMode="DataSet" 
         ConnectionString="XXX" 
         ProviderName="MySql.Data.MySqlClient" 
         SelectCommand="XXX" 
         > 
         <SelectParameters> 
          <asp:QueryStringParameter QueryStringField="type" Name="?type" /> 
         </SelectParameters> 
        </asp:SqlDataSource> 
        <asp:GridView ID="GridViewTab" DataKeyNames="id" DataSourceID="DSTab" AutoGenerateColumns="false" runat="server" > 
         <Columns> 
          <asp:TemplateField> 
           <ItemTemplate> 
            <asp:HyperLink ID="HyperLinkTab" NavigateUrl='Item.aspx' runat="server"><%# Eval("title")%></asp:HyperLink> 
            <asp:Button OnClick="AddItem" ID="ButtonAddItem" Text="Add" runat="server" /> 

           </ItemTemplate> 
          </asp:TemplateField> 
         </Columns> 
        </asp:GridView> 
        <asp:Button OnClick="CreateNewItem" ID="ButtonCreateNewItem" Text="Create New" runat="server" /> 
       </ContentTemplate> 
      </asp:UpdatePanel> 
     </form> 
    </body> 
</html> 

回答

1

进行更新面板外你的标签。它将解决问题。

0
<script type="text/javascript"> 
$(function() { 
    $("#tabs").tabs({ 
     cookie: { 
      // store cookie for a day, without, it would be a session cookie 
      expires: 1 
     } 
    }); 

}); 
function pageLoad(sender, args) { 
    if (args.get_isPartialLoad()) { 
     //Dialog Code 
     $("#tabs").tabs({ 
      cookie: { 
       // store cookie for a day, without, it would be a session cookie 
       expires: 1 
      } 
     }); 


    } 
}