控件整理之Button按纽组CommandName和CommandArgument行为

翻译|其它|编辑:郝浩|2008-03-17 14:27:46.000|阅读 1628 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

有时候需要几个按纽调用同一模块,实现相似(而非相同)的功能,需要用到按纽的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类型)。根据这两个参数,很轻易的把一组按纽分成四组功能:数字升序、数字降序、字母升序、字母降序。
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP