JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题
大家都知道。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)。
直接看全部的代碼:
前臺代碼例如以下:
$(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标签显示问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017华南理工华为杯D bx回文
- 下一篇: asp.net ajax控件工具集 Au