JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题
大家都知道。asp.net頁面的控件,當(dāng)控件的事件不是使用 "return js函數(shù)();"時(shí),或者控件注冊(cè)的是后臺(tái)的事件。那么整個(gè)頁面會(huì)又一次載入的。
此時(shí)這個(gè)easy ui實(shí)現(xiàn)的tabs標(biāo)簽,總是回到了第一個(gè)tab頁。
盡管能夠借助ajax和jQuery的方法,來實(shí)現(xiàn)前后臺(tái)交互
($.ajax方式前后臺(tái)交互:http://blog.csdn.net/yysyangyangyangshan/article/details/22438077
$.post方式前后臺(tái)交互:http://blog.csdn.net/yysyangyangyangshan/article/details/22755007)。
能夠把后臺(tái)的數(shù)據(jù)轉(zhuǎn)換為json字符串形式,傳遞給前臺(tái),前臺(tái)經(jīng)過拆分還原出內(nèi)容。賦值給相應(yīng)的控件。這也不失為一種方式。
只是,javascript畢竟僅僅是一個(gè)輔助的語言,在ASP.NET中假設(shè)把全部的前后臺(tái)交互都用js這樣的方式實(shí)現(xiàn),那是不可能的,那就成了舍本逐末,畢竟是用ASP.NET的事件機(jī)制,還是非常方便的。
針對(duì)這個(gè)tabs問題。該怎樣解決呢?
思路非常easy。無非就是記住上次選中的tab頁。然后當(dāng)頁面刷新時(shí)讀取出上次的tab,在初始化頁面的時(shí)候,強(qiáng)制顯示指定的tab頁。
這里有幾個(gè)步驟比較重要:
1、記錄選中的tab;
2、讀取指定的tab;
3、顯示指定的tab。
關(guān)于用到的easyui的js以及樣式文件。前文已經(jīng)說過了(http://blog.csdn.net/yysyangyangyangshan/article/details/38306591)。
直接看全部的代碼:
前臺(tái)代碼例如以下:
$(document).ready(function ():這里是初始化頁面時(shí)運(yùn)行的方法,在這里讀取之前保存的tab頁的索引,然后讓tabs顯示保存的那個(gè)索引的tab;同一時(shí)候還綁定了一個(gè)tab標(biāo)簽的click事件;
?function buttonTabHeadClick():這個(gè)函數(shù)。就是當(dāng)tab標(biāo)簽被選中時(shí)記錄當(dāng)前標(biāo)簽的索引。此處用后臺(tái)的一個(gè)靜態(tài)變量來保存的;
?"<%=GetSelectedTab()%>":完畢前臺(tái)調(diào)用后臺(tái)的方法。
?兩個(gè)按鈕 點(diǎn)擊1和點(diǎn)擊2 是測(cè)試用的,假設(shè)不做不論什么處理,每當(dāng)按鈕點(diǎn)擊時(shí)。tabs總會(huì)顯示第一個(gè)了。
?
?后臺(tái)代碼:
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){}}效果例如以下:
?
?即使在標(biāo)簽2下點(diǎn)擊按鈕。頁面刷新完后,依舊顯示標(biāo)簽2。
?
?代碼下載:http://download.csdn.net/detail/yysyangyangyangshan/7758201
總結(jié)
以上是生活随笔為你收集整理的JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017华南理工华为杯D bx回文
- 下一篇: 第二课unit11 系统恢复技术