ASP.NET 如何知道我们点击了某个按钮

作者:vkvi 来源:ITPOW(原创) 日期:2008-1-3

ASP.NET 中以 Web 控制元素 asp:Button 为例,它具有 onclick 事件,该事件对应的函数是服务器端程序,而该函数最终将输出为 HTML 的提交按钮,这就变成了客户端与服务器端的交互。

关于如何进行的交互,请参见 onclick 是如何与服务器端交互的

我们本节要说明的是,两个提交按钮的情况下,服务器端如何知道我们是点击哪个按钮提交的。

假如有两个提交按钮,name 属性值分别是 btn1、btn2。

  • 当点击 btn1 提交时,服务器端可以通过 Request.Form 取得 btn1 的 value,而 btn2 的 value 无法取得;
  • 当点击 btn2 提交时,服务器端可以通过 Request.Form 取得 btn2 的 value,而 btn1 的 value 无法取得。

就是根据这个原理,ASP.NET 知道我们点击了哪个按钮,再执行相应的函数,只是这些判断都是封装了的,我们不必去理会。

问题迎刃而解,但另两种情况:

一、如何响应 UseSubmitBehavior="false" 的按钮事件,这种情况下,按钮是普通按钮,点击它不会提交表单,表单提交时也不会提交该按钮的 value 值,但在 ASP.NET 中为其增加了 javascript 函数,让它被点击时提交表单,并且告诉服务器端点击了某一个 button,这样它的 onclick 服务器端事件也得到响应了。

二、我们不是点击的按钮进行的提交,我们是通过在表单中的文本框中按回车键进行的提交,这又如何处理呢?请参见 ASP.NET 的 defaultbutton 作用

相关阅读

相关文章