回发c#后保留引导选项卡
我目前在我的fileupload回发后保留引导选项卡时遇到问题。 代码如下
$('#myTab a[href="#image"]').click(function (e) { e.preventDefault(); $("#myTab").removeClass("active"); $(this).addClass('active'); $(this).tab('show'); }) $('#myTab a[href="#information"]').click(function (e) { e.preventDefault(); $("#myTab").removeClass("active"); $(this).addClass('active'); $(this).tab('show'); }) $('#myTab a[href="#password"]').click(function (e) { e.preventDefault(); $("#myTab").removeClass("active"); $(this).addClass('active'); $(this).tab('show'); }) $('#myTab a[href="#account"]').click(function (e) { e.preventDefault(); $("#myTab").removeClass("active"); $(this).addClass('active'); $(this).tab('show'); })
任何人都可以启发我如何在回发后保留这个引导程序?
好吧,我已经有了这个问题,我这样解决了:
-
在页面上包含一个新的
HiddenField
,并将其值设置为需要显示的第一个tab
: -
在您定义用于交替
tabs
每个click
function上,将HiddenField
值设置为单击的实际tab
。document.getElementById('<%=hidTAB.ClientID %>').value = "image";
-
在
jQuery
document.ready
函数上,使用HiddenField
值替换Postback
之前打开的最后一个选项卡。$(document).ready( function(){ var tab = document.getElementById('<%= hidTAB.ClientID%>').value; $( '#myTab a[href="' + tab + '"]' ).tab( 'show' ); });
这是Bootstrap选项卡文档 , 这里是jQuery Ready文档
参考上面的想法这里我是如何做到的(包括完整代码)
在您的HTML页面中,在
部分中
在
部分放一个隐藏字段
并且在
部分中还有Bootstrap 3.0相关代码
不要将任何选项卡设置为活动(这由Hiddenfield的初始值=“#tab1”设置)。
然后在tab2 DIV上添加一个按钮
像这样:
(note this example is for uploading a file)
最后添加你的c#代码来设置hiddenfield的值
protected void FileUploadButton_Click(object sender, EventArgs e) { hidTAB.Value = "#tab2"; }
在回发时,JQuery将读取隐藏字段中的新值并显示tab2 🙂
希望这有助于某人。
崔佛。
请试试这个
This is Personal Information Tab This is Employment Information Tab
经过相当长的时间尝试引导选项卡..我决定更改为jquery选项卡。 首先,jquery选项卡也给出了我在这种情况下遇到的相同问题..但经过大量努力寻找解决方案并在代码后尝试代码。
我设法找到了解决方案
我非常感谢提供此解决方案的人。 在这个解决方案中,它使用sessionStorage(对我来说,它是我从未听说过的新东西)和代码
$(document).ready(function () { var currentTabIndex = "0"; $tab = $("#tabs").tabs({ activate : function (e, ui) { currentTabIndex = ui.newTab.index().toString(); sessionStorage.setItem('tab-index', currentTabIndex); } }); if (sessionStorage.getItem('tab-index') != null) { currentTabIndex = sessionStorage.getItem('tab-index'); console.log(currentTabIndex); $tab.tabs('option', 'active', currentTabIndex); } $('#btn-sub').on('click', function () { sessionStorage.setItem("tab-index", currentTabIndex); //window.location = "/Home/Index/"; }); });