aspx ページでタブをプログラムする必要があります。各タブには異なる aspx ページが含まれます。このjqueryコードとDivタグでそれを行うことができます:
// In Default.aspx
<head runat="server">
<link rel="stylesheet" href="~/Styles/jquery-ui.css" />
<script src="Scripts/jquery-1.9.1.js"></script>
<script src="Scripts/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#tabs" ).tabs();
});
</script>
<script language="javascript">
$(document).ready(function () {
$("#tabs-1").load("First.aspx", {}, function (data) {
// do something
});
$("#tabs-2").load("Second.aspx", {}, function (data) {
// do something
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="tabs">
<ul>
<li><a href="#tabs-1">First tab</a></li>
<li><a href="#tabs-2">Second tab</a></li>
</ul>
<div id="tabs-1">
</div>
<div id="tabs-2">
</div>
</div>
</form>
</body>
私の問題は、タブに含まれる aspx ページのポストバックにあります。First.aspx または Second.aspx がポストバックすると、Defautl.aspx が消えるだけで、First.aspx または Second.asps が画面を制御します。
解決策の 1 つは、Div の代わりに iframe を使用することですが、私は過去に iframe に問題があったため、回避したいと考えています。
タブと aspx ページを含む各タブを操作する方法はありますか?