打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

  前面使用easy ui来实现了一个tabs标签,不过在ASP.NET中使用时发现了一个问题。

  大家都知道,asp.net页面的控件,当控件的事件不是使用 "return js函数();"时,或者控件注册的是后台的事件,那么整个页面会重新加载的。此时这个easy ui实现的tabs标签,总是回到了第一个tab页。虽然可以借助ajax和jQuery的方法,来实现前后台交互可以把后台的数据转换为json字符串形式,传递给前台,前台经过拆分还原出内容,赋值给对应的控件。这也不失为一种方式。

  不过,javascript毕竟只是一个辅助的语言,在ASP.NET中如果把所有的前后台交互都用js这种方式实现,那是不可能的,那就成了舍本逐末,毕竟是用ASP.NET的事件机制,还是很方便的。

  针对这个tabs问题,该如何解决呢?

  思路很简单,无非就是记住上次选中的tab页,然后当专科页面刷新时读取出上次的tab,在初始化页面的时候,强制显示指定的tab页。

  这里有几个步骤比较重要:

  1、记录选中的tab;

  2、读取指定的tab;

  3、显示指定的tab。

  直接看所有的代码:

  前台代码如下:

  [html] view plaincopyprint? 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13.

14.

15.

16. 17. 18. 21. 22.

19. 20.

23.

24.

25. 26. 27. 30. 31.

28. 29.

32.

33.

34.35. 36. 37. 38. 88.

  $(document).ready(function ():这里是初始化页面时执行的方法,在这里读取之前保存的tab页的索引,然后让tabs显示保存的那个索引的tab;同时还绑定了一个tab标签的click事件; function buttonTabHeadClick():这个函数,就是当tab标签被选中时记录当前标签的索引,此处用后台的一个静态变量来保存的; "<%=GetSelectedTab()%>":完成前台调用后台的方法。 两个按钮 点击1和点击2 是测试用的,如果不做任何处理,每当按钮点击时,tabs总会显示第一个了。 后台代码:

  01lic partial class _Default : System.Web.UI.Page 02. { 03. protected static string SelectTabTitle="0"; 04. 05. 06. protected void Page_Load(object sender, EventArgs e) 07. { 08. if (!IsPostBack) 09. { 10. 11. 12. } 13. 14. 15. switch (Request["OperateType"]) 16. { 17. case "TabTitle": 18. SetSelectedTab(); 19. break; 20. 21. 22. default: 23. 24. 25. break; 26. } 27. } 28. ///

29. /// 保存选中的tab 30. ///31. private void SetSelectedTab() 32. { 33. SelectTabTitle=Request["SelectTabTitle"]; 34. } 35. ///36. /// 获取选中的tab 37. ///38. /// 39. protected string GetSelectedTab() 40. { 41. return SelectTabTitle; 42. } 43. 44. 45. protected void Tab1_Button_Click(object sender, EventArgs e) 46. { 47. 48. 49. } 50. 51. 52. protected void Tab2_Button_Click(object sender, EventArgs e) 53. { 54. 55. 56. } 57. }

  即使在标签2下点击按钮,页面刷新完后,依然显示标签2。

  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【ASP.NET】用C#动态添加非ASP的标准html控件(如添加Script标签)
CSDN技术中心 ASP.net中动态加载控件时一些问题的总结
在ASP.NET AJAX中别使用mode="Legacy"
在ASP.NET页面上添加AJAX控件后,不能调出窗口的解决办法:
WCF与AJAX编程开发实践(3):支持ASP.NET AJAX的WCF服务
B/S工作原理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服