首页 新闻 会员 周边 捐助

怎么样捕捉按钮的回调事件?

0
悬赏园豆:50 [已解决问题] 解决于 2014-12-19 10:06

页面中有一个有一个文本框,一个按钮。

在每次Page Load的时候都要对文本框重新赋值(Page.IsPostBack和 !Page.IsPostBack 都赋值),按钮的事件中要使用页面用户实时输入的值。

按钮事件执行是在每次Page Load之后,导致用户输入的数据丢失,我想在Page Load之前就调用按钮的事件,拜托各位了。

谢谢!

annpaul的主页 annpaul | 初学一级 | 园豆:85
提问于:2010-08-25 18:11
< >
分享
最佳答案
0

如果你非要这么做的话(即不管页面是否回传,都要在后台代码里TextBox赋一个值),有两种解决建议:

1. 在Page_Load里只在!IsPostBack的时候给TextBox赋值,但在Button_Click里取出了TextBox的值之后再给TextBox赋值。

2. 在页面上加另外一个TextBox,弄成display为none的,然后在Button提交前用js把你要的文本框的值赋给这个隐藏的textbox,然后在Button_click事件里取这个隐藏的textbox的Text属性出来。

收获园豆:10
明年我18 | 菜鸟二级 |园豆:240 | 2010-08-26 00:07
其他回答(5)
0

你既然要“按钮的事件中要使用页面用户实时输入的值 ”,那么就不能在Page Load的时候都对文本框重新赋值,而只在!Page.IsPostBack里面赋值,你在 Page.IsPostBack 里面赋值就相当于把 在页面用户输入的值给覆盖了啊,

收获园豆:10
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-25 21:09
0

貌似不能这么做!你为什么要这样处理了?既然想要用用户输入的数据, 为什么又要在Page_Load中把它覆盖了呢?

ASP.NET页面生命周期中,处理回传数据的事件ProcessPostData(也就是把你填写的值进行加载)是发生在Page_Load之前的,所以你在Page_Load中的赋值会把你填写的那个值覆盖,而回传事件,也就是button的单击事件,会发生在Page_Load之后

收获园豆:10
yixin841210 | 园豆:1138 (小虾三级) | 2010-08-25 22:20
0

如果你想在回发事件中使用文本框的数据,在Page_Load里的!Page.IsPostBack代码里写上初始值,或者什么都不写,而是直接赋值。不要在!IsPostBack外面页。你可以在Page_Load第一行设置断点,调试一下整个回发的过程。

收获园豆:10
Astar | 园豆:40805 (高人七级) | 2010-08-25 23:06
0

Ajax控件?看你的意思是不是用updatepannel???

顾晓北 | 园豆:10898 (专家六级) | 2010-08-27 11:30
0

ispostback 属性判断当前的是不是回传。

比如:第一次回传,用if(!ispostback){方法1}

以后你比如点击按钮。它是不会执行“方法1”的

收获园豆:10
邢少 | 园豆:10926 (专家六级) | 2010-08-27 13:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册