2009-12-09 74 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 
      } 
     }); 


    } 
}