C#学习笔记(20140909)-按钮控件:单击事件和command事件
在 Web 应用程序和用户交互时,常常需要提交表单、获取表单信息等操作。在这其间,按钮控件
是非常必要的。按钮控件能够触发事件,或者将网页中的信息回传给服务器。在 ASP.NET 中,包含三
类按钮控件,分别为 Button、LinkButton、ImageButton。
-
Click 单击事件
在Click 单击事件中,通常用于编写用户单击按钮时所需要执行的事件,这种事件很简单,用户单击一个按钮,就会执行按钮中的代码。
-
Command 命令事件
按钮控件中,Click 事件并不能传递参数,所以处理的事件相对简单。而Command 事件可以传递参
数,负责传递参数的是按钮控件的 CommandArgument 和 CommandName 属性。CommandArgument 和 CommandName 属性
将CommandArgument和CommandName属性分别设置为Hello!和Show , 单击 创建一个Command
事件并在事件中编写相应代码,示例代码如下所示:
protected void Button1_Command(object sender, CommandEventArgs e) { if (e.CommandName == "Show") //如果 CommandNmae 属性的值为 Show,则运行下面代码 { Label1.Text = e.CommandArgument.ToString();//CommandArgument 属性的值赋值给 Label1 } }
Command 有一些 Click 不具备的好处,就是传递参数。可以对按钮的 CommandArgument 和
CommandName 属性分别设置, 通过判断 CommandArgument 和 CommandName 属性来执行相应的方法 。
这样一个按钮控件就能够实现不同的方法,使得多个按钮与一个处理代码关联或者一个按钮根据不同的
值进行不同的处理和响应。相比 Click 单击事件而言,Command 命令事件具有更高的可控性。
综上所述:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { Label1.Text = "你点击了按钮"; } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { Label1.Text = "你点击了图片按钮"; } protected void LinkButton1_Click(object sender, EventArgs e) { Label1.Text = "你点击了链接按钮"; } protected void Button1_Command(object sender, CommandEventArgs e) { if (e.CommandName=="show") { Label1.Text = e.CommandArgument.ToString(); } } } }
转载于:https://blog.51cto.com/felix520wj/1550376