Hook Form的submit事件的后果+感悟!
在最近这个项目中里面,用到ListBox,而对ListBox是在客户端用JavaScript操作的,因此客户端加入到ListBox的数据服务器端就不能全去到了,并且这个ListBox是放在一个用户控件中的。后来想到个办法,那就是把ListBox中的数据一个Hidden Control里面,于是就在这个用户控件里面hook 页面Form1种的submit事件,然后组织自己的数据,做完后好像问题都已解决。但是过了一天再去看,发现那些用到这个用户控件的页面中所有的控件验证都失效(ASP.NET自带的验证控件),较尽脑汁也不知道怎么回事,网上也没找到答案,后来想:这个页面只有一个按钮,并且整个页面的空间的验证都在点这个按钮后进行,而这个按钮在客户端
变成了一个submit类型的input标记
<input type="submit" id="submit" onclick="
" />
onclick就是ASP.NET自动生成的那个。 如果button为submit的话那么会导致我hook submit的那个函数的执行,而它这里又有个onclick,会不会有冲突呢。我马上试了一下,去掉这个hook的函数,而把它加在button的onclick事件里面
Submit.Attributes["onclick"] = "hooksubmit()";
这样在客户端看,就变成这样
<input type="submit" id="submit" onclick="hooksubmit();..." />
再进入用到这个用户控件的页面,没有什么问题发生,终于解决了!
感悟:知识总是在一点一滴的积累,只要你用心,就会不停的有收获。从学编程到现在,这样的情况不知道发生了多少次,但是每次解决后都有一种成就感,如果能彻底分析清楚问题发生的原因解决办法,那么是获益匪浅的。编程的这些细节的知识各种技巧需要积累,当然项目经验业务经验和整体的架构设计水平更需要慢慢积累!
变成了一个submit类型的input标记
感悟:知识总是在一点一滴的积累,只要你用心,就会不停的有收获。从学编程到现在,这样的情况不知道发生了多少次,但是每次解决后都有一种成就感,如果能彻底分析清楚问题发生的原因解决办法,那么是获益匪浅的。编程的这些细节的知识各种技巧需要积累,当然项目经验业务经验和整体的架构设计水平更需要慢慢积累!