asp.net中commandname应用

有时候需要几个按纽调用同一模块,实现相似(而非相同)的功能,需要用到按纽的CommandName行为
实现步骤如下:
1、VS2005新建一个网站项目,拖入两个web控件Button控件,分别设置CommandName为btn1,btn2,btn3,btn4;再分别设置CommandArgument为Asc,Desc,Asc,Desc。等会看到,这两个参数都会随着Button_Command事件传入。再分别设置text属性为数字升序,数字降序,字母升序,字母降序。
所得代码如下:
<body>
<form id="form1" runat="server" method="post" action="Default.aspx">
<asp:Button ID="Button1" runat="server" CommandName="btn1" Text="Button1" />
<asp:Button ID="Button2" runat="server" CommandName="btn2" Text="Button2" />
<asp:Button ID="Button3" runat="server" CommandName="btn3" Text="Button3" />
<asp:Button ID="Button4" runat="server" CommandName="btn4" Text="Button4" />
</form>
</body>
2、选中Button1按纽,在属性面板中选择“事件”,在“操作”下双击“Command”栏,进入代码页,并输入以下代码:(把Button1_Command改为Button_Command)
protected void Button_Command(object sender, CommandEventArgs e)
{
switch (e.CommandName)
{
case "btn1":
Response.Write("数字:");
ShowNumbers(e.CommandArgument);
break;
case "btn2":
Response.Write("数字:");
ShowNumbers(e.CommandArgument);
break;
case "btn3":
Response.Write("字母");
ShowLetters(e.CommandArgument);
break;
case "btn4":
Response.Write("字母");
ShowLetters(e.CommandArgument);
break;
}
}
private void ShowNumbers(object commandArgument)
{
if (commandArgument.ToString() == "Asc")
{
Response.Write("升序:12345");
}
else if (commandArgument.ToString() == "Desc")
{
Response.Write("降序:54321");
}
}
private void ShowLetters(object commandArgument)
{
if (commandArgument.ToString() == "Asc")
{
Response.Write("ABCDE");
}
else if (commandArgument.ToString() == "Desc")
{
Response.Write("EDCBA");
}
}
3、回到前台编辑页面,分别选中Button1和Button2,将二者Command事件设置为Button_Command
4、运行结果:点Button1显示“btn1:12345”,点Button4显示“btn2:EDCBA”。
5、总结:在Button_Command事件中传递的e参数,实际上是一个参数组,它包含e.CommandName(字符类型)和e.CommandArgument(object类型)。根据这两个参数,很轻易的把一组按纽分成四组功能:数字升序、数字降序、字母升序、字母降序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值