我使用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>