博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在ASP.net中实现一个万能的“返回”按钮。
阅读量:5052 次
发布时间:2019-06-12

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

前台设计,尤其是管理功能的设计,允许用户后退是一个很人性化的设计,可以使用一个按钮,给它绑一个history.go(-1)的js事件即可。但如果当前页面发生了提交(PostBack)后(页面提交在.net的服务器控件中使用的非常频繁),history.go(-1)就不太好使了。

怎么办呢?可以这样做,.net你不是喜欢提交页面吗?我就记住你的提交次数,然后你提交几次我就go几次。设计一个这样的服务器控件BackButton。

BackButton.ascx:

BackButton.cs:

public partial class UC_BackButton : System.Web.UI.UserControl {
protected int PostBackCount {
get { return ViewState["PostBackCount"] == null ? 0 : (int)ViewState["PostBackCount"]; } set { ViewState["PostBackCount"] = value; } } protected void Page_Load(object sender, EventArgs e) {
if (IsPostBack) {
PostBackCount++; } BtnReturn.OnClientClick = "javascript:history.go(-" + Convert.ToString(PostBackCount + 1) + ");return false;"; } }

前台代码很简单,就是一个.net服务器控件的按钮,后台有点技巧,利用ViewState将页面被提交的次数记录下来,然后设置点击按钮时候的js代码,提交几次我就往回go几次,管你呢。 呵呵

转载于:https://www.cnblogs.com/overload/archive/2011/11/07/2238987.html

你可能感兴趣的文章
iOS开发——缩放图片
查看>>
HTTP之URL的快捷方式
查看>>
满世界都是图论
查看>>
配置链路聚合中极小错误——失之毫厘谬以千里
查看>>
代码整洁
查看>>
蓝桥杯-分小组-java
查看>>
Java基础--面向对象编程1(类与对象)
查看>>
Android Toast
查看>>
iOS开发UI篇—Quartz2D使用(绘制基本图形)
查看>>
docker固定IP地址重启不变
查看>>
[Swift]LeetCode128. 最长连续序列 | Longest Consecutive Sequence
查看>>
[Swift通天遁地]一、超级工具-(9)在地图视图MKMapView中添加支持交互动作的标注图标...
查看>>
js版base64()
查看>>
poj3006---素数筛法
查看>>
c语言结构体排序示例
查看>>
openresty nginx systemtap netdata
查看>>
[Angular] Make a chatbot with DialogFlow
查看>>
sd卡无法启动及zc706更改主频后可以进入uboot无法启动kernel的坑
查看>>
代理模式
查看>>
MongoDB 集合(Collection)对应的物理文件
查看>>