C#学习笔记(20140909)-按钮控件:单击事件和command事件

    在 Web 应用程序和用户交互时,常常需要提交表单、获取表单信息等操作。在这其间,按钮控件
是非常必要的。按钮控件能够触发事件,或者将网页中的信息回传给服务器。在 ASP.NET 中,包含三
类按钮控件,分别为 Button、LinkButton、ImageButton。


  1. Click 单击事件

    在Click 单击事件中,通常用于编写用户单击按钮时所需要执行的事件,这种事件很简单,用户单击一个按钮,就会执行按钮中的代码。


  2. Command 命令事件

    按钮控件中,Click 事件并不能传递参数,所以处理的事件相对简单。而Command 事件可以传递参
    数,负责传递参数的是按钮控件的 CommandArgument 和 CommandName 属性。

    wKiom1QPI0jCclrwAADiTu5I-iQ659.jpg

    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(); 
                }
    
            }
        }
    }

wKioL1QPJL7hAZpbAAD2bRt0dp4409.jpg



你可能感兴趣的:(基础,按钮,自学,C#学习)