博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题
阅读量:5989 次
发布时间:2019-06-20

本文共 2071 字,大约阅读时间需要 6 分钟。

前面使用easy ui来实现了一个tabs标签( ),只是在ASP.NET中使用时发现了一个问题。
大家都知道。asp.net页面的控件,当控件的事件不是使用 "return js函数();"时,或者控件注冊的是后台的事件。那么整个页面会又一次载入的。

此时这个easy ui实现的tabs标签,总是回到了第一个tab页。

尽管能够借助ajax和jQuery的方法,来实现前后台交互

($.ajax方式前后台交互:
$.post方式前后台交互:)。
能够把后台的数据转换为json字符串形式,传递给前台,前台经过拆分还原出内容。赋值给相应的控件。这也不失为一种方式。
只是,javascript毕竟仅仅是一个辅助的语言,在ASP.NET中假设把全部的前后台交互都用js这样的方式实现,那是不可能的,那就成了舍本逐末,毕竟是用ASP.NET的事件机制,还是非常方便的。
针对这个tabs问题。该怎样解决呢?
思路非常easy。无非就是记住上次选中的tab页。然后当页面刷新时读取出上次的tab,在初始化页面的时候,强制显示指定的tab页。
这里有几个步骤比較重要:
1、记录选中的tab;
2、读取指定的tab;
3、显示指定的tab。

关于用到的easyui的js以及样式文件。前文已经说过了()。

直接看全部的代码:
前台代码例如以下:

        
$(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;            }        }        ///         /// 保存选中的tab        ///         private void SetSelectedTab()        {            SelectTabTitle = Request["SelectTabTitle"];        }        ///         /// 获取选中的tab        ///         /// 
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。

 
 代码下载:

你可能感兴趣的文章
C/C++经典面试题一
查看>>
分布式事务
查看>>
强大的提交框:jquery.jbox
查看>>
eclipse安装egit上传和clone项目到github
查看>>
Matplotlib -多组线用不同的线性、颜色、节点绘制
查看>>
JavaScript中BOM的基础知识总结
查看>>
Visual Stuido 2015 Community 使用 GitHub 插件
查看>>
如何跳转到AppStore的?
查看>>
c# 调取墨迹调用墨迹天气接口保存到数据库
查看>>
语法面试等题目汇总
查看>>
ZOJ 2158 POJ 1789 Truck History
查看>>
webpack图片的路径与打包
查看>>
TCP三次握手/四次挥手
查看>>
hadoop的输入和输出文件
查看>>
转:Appium——appium安卓常用操作封装
查看>>
Listview和Gridview自定义分割线
查看>>
一个两年java程序猿的2017个人总结
查看>>
[J2EE规范]RMI简单实例 ...
查看>>
react阻止冒泡事件
查看>>
BZOJ 1072 排列
查看>>