日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题

發布時間:2025/4/16 asp.net 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前面使用easy ui來實現了一個tabs標簽(http://blog.csdn.net/yysyangyangyangshan/article/details/38307477),只是在ASP.NET中使用時發現了一個問題。
大家都知道。asp.net頁面的控件,當控件的事件不是使用 "return js函數();"時,或者控件注冊的是后臺的事件。那么整個頁面會又一次載入的。

此時這個easy ui實現的tabs標簽,總是回到了第一個tab頁。

盡管能夠借助ajax和jQuery的方法,來實現前后臺交互
($.ajax方式前后臺交互:http://blog.csdn.net/yysyangyangyangshan/article/details/22438077
$.post方式前后臺交互:http://blog.csdn.net/yysyangyangyangshan/article/details/22755007)。
能夠把后臺的數據轉換為json字符串形式,傳遞給前臺,前臺經過拆分還原出內容。賦值給相應的控件。這也不失為一種方式。
只是,javascript畢竟僅僅是一個輔助的語言,在ASP.NET中假設把全部的前后臺交互都用js這樣的方式實現,那是不可能的,那就成了舍本逐末,畢竟是用ASP.NET的事件機制,還是非常方便的。
針對這個tabs問題。該怎樣解決呢?
思路非常easy。無非就是記住上次選中的tab頁。然后當頁面刷新時讀取出上次的tab,在初始化頁面的時候,強制顯示指定的tab頁。
這里有幾個步驟比較重要:
1、記錄選中的tab;
2、讀取指定的tab;
3、顯示指定的tab。




關于用到的easyui的js以及樣式文件。前文已經說過了(http://blog.csdn.net/yysyangyangyangshan/article/details/38306591)。




直接看全部的代碼:
前臺代碼例如以下:

<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><title></title><link href="Scripts/EasyUI/themes/icon.css" rel="stylesheet" type="text/css" /><link href="Scripts/EasyUI/themes/default/easyui.css" rel="stylesheet" type="text/css" /><script src="Scripts/EasyUI/jquery-1.8.0.min.js" type="text/javascript"></script><script src="Scripts/EasyUI/jquery.easyui.min.js" type="text/javascript"></script><script src="Scripts/EasyUI/easyui-lang-zh_CN.js" type="text/javascript"></script><script src="Scripts/Common.js" type="text/javascript"></script><script src="Scripts/Ajax.js" type="text/javascript"></script> </head> <body> <form id="form1" runat="server" ><div id="tabTop"><div title="標簽一" runat="server"><table><tr><td><asp:Button ID="btn1" runat="server" Text="點擊1" OnClick="Tab1_Button_Click"/></td></tr></table></div><div title="標簽二" runat="server"><table><tr><td><asp:Button ID="btn2" runat="server" Text="點擊2" OnClick="Tab2_Button_Click"/></td></tr></table></div></div></form> </body><script type="text/javascript">$('#tabTop').tabs({width: $("#tabTop").parent().width(),height: "auto",onSelect: function (title) {//這是默認的選中事件,可是當運行了pageload這個也會運行}});//初始化—始終顯示后臺保存的標簽$(document).ready(function () {var tabTitle = parseInt("<%=GetSelectedTab()%>");if (tabTitle != null && tabTitle >=0) {$("#tabTop").tabs("select", tabTitle);}$('#tabTop').bind('click', function () {buttonTabHeadClick();});});//標簽頁點擊事件function buttonTabHeadClick() {var title = parseInt($('.tabs-selected').index());var oldTitle =parseInt("<%=GetSelectedTab()%>");if ( oldTitle>=0 && title == oldTitle) {return false;}var selectObj = new Object();selectObj.SelectTabTitle = title;selectObj.OperateType = "TabTitle";var htmlObjects = $.ajax({type: "POST",data: selectObj,async: true,success: function (result) {},error: function (result) {}});return false;}</script> </html>
$(document).ready(function ():這里是初始化頁面時運行的方法,在這里讀取之前保存的tab頁的索引,然后讓tabs顯示保存的那個索引的tab;同一時候還綁定了一個tab標簽的click事件;
?function buttonTabHeadClick():這個函數。就是當tab標簽被選中時記錄當前標簽的索引。此處用后臺的一個靜態變量來保存的;
?"<%=GetSelectedTab()%>":完畢前臺調用后臺的方法。
?兩個按鈕 點擊1和點擊2 是測試用的,假設不做不論什么處理,每當按鈕點擊時。tabs總會顯示第一個了。
?
?后臺代碼:
public partial class _Default : System.Web.UI.Page{protected static string SelectTabTitle = "0";protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){}switch (Request["OperateType"]){case "TabTitle":SetSelectedTab();break;default:break;}}/// <summary>/// 保存選中的tab/// </summary>private void SetSelectedTab(){SelectTabTitle = Request["SelectTabTitle"];}/// <summary>/// 獲取選中的tab/// </summary>/// <returns></returns>protected string GetSelectedTab(){return SelectTabTitle;}protected void Tab1_Button_Click(object sender, EventArgs e){}protected void Tab2_Button_Click(object sender, EventArgs e){}}效果例如以下:
?
?即使在標簽2下點擊按鈕。頁面刷新完后,依舊顯示標簽2。


?
?代碼下載:http://download.csdn.net/detail/yysyangyangyangshan/7758201

總結

以上是生活随笔為你收集整理的JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。