我有一个包含三个标签的aspx页面。当我单击tab3中的按钮时,将发生回发并将它带回tab1。我如何留在tab3? 以下是我的aspx页面。另外我注意到我们有一个javascript来将活动标签设置为tab1。任何人都可以告诉我如何修改它,以便在回发期间将所选标签设置为活动标签吗?
<script type="text/javascript">
$(document).ready(function() {
//When page loads...
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active ID content
return false;
});
});
<div id="content">
<ul class="tabs">
<li><a href="#tab1">Edit</a></li>
<li><a href="#tab2">History</a></li>
<li><a href="#attachmentcontent">Attachments</a></li>
</ul>
<div class="tab_container">
<div id="tab1" class="tab_content">
...
答案 0 :(得分:0)
保留选项卡3的会话值,并在回发期间将标签位置设置为该会话值。
基本上你需要将状态存储在某个地方,无论是某些cookie /会话状态是完全由你决定的。然后将该会话状态变量加载到控件的属性值中,以将其设置回您正在查看的位置。
阅读asp.net会话状态。
答案 1 :(得分:0)
您所指的是维护状态,常见方法是在会话中存储变量或查看状态,指示“选定”选项卡是什么。然后在页面上加载读回来并将其应用到适当位置的页面。
答案 2 :(得分:0)
会议有一些缺点。 JavaScript只能读取会话的第一个值。例如,您在Session["name"]="Gaolai Peng"
中设置了Page_Load
。然后在按钮中单击后面的帖子,如果设置Session["name"]="Rauf"
。如果您使用JavaScript阅读会话,它将返回“Gaolai Peng”。因此,请使用HiddenField
代替会话。
答案 3 :(得分:-1)
使用PostBackUrl属性并将其设置为/#<your tabID>
示例:
PostBackUrl = "/#tab1"