Linkbutton控件

Linkbutton控件在项目中的简单应用

我们知道,在web控件中有一组用于表单提交和回传的控件,即Button控件。这类控件用于将带有用户输入值的页面提交给服务器,以便用页面中的代码对这些值进行处理。它会在服务器上产生一个Click事件,供用户在代码中使用。

Button 控件可分为button 控件、LinkButton 控件、ImageButton控件三类。它们都用于提交页面。其中ImageButton 控件可以显示为一幅图像,并且能够提供用户单击位置的坐标位置。而LinkButton控件则在页面上显示为一个超级链接。

在网上鞋店系统中,我们简单应用了在一个页面内使用多个LinkButton 控件执行同一个命令的方法。接下来我们比较详细的介绍一下。

问题一:使用LinkButton是用于链接到各个品牌细节的页面。那么为什么不选用导航HyperLink,而以LinkButton取而代之?

事实上,HyperLink控件仅仅是产生一个有URL指向的超级链接LinkButton控件属于Button类控件。它本身支持事件处理,并没有NavigateUrl属性,它的URL链接功能亦主要是由事件处理完成——LinkButton控件支持OnClickOnCommand等服务器端方法。可归纳如下:

LinkButton的外观和风格与hyperlink相同,但它还有另外二点好处,即:

     点击时能够返回同一个网页。

     便于使用的OnClick方法。

问题二:已经确定使用LinkButton。那么如何在一个页面里对多个LinkButton控件定义方法?要为每一个控件都写同样的方法吗?这显然是不切实际的。那如果只写一个方法,又如何判断是哪个控件触发,服务器向谁提供服务?

在这里我们应用LinkButton的属性CommandName和方法Command来实现。

首先我们先了解一下LinkButton的几个比较重要的属性和方法。

     CommandName属性:取得或设定与LinkButton控制项相关的命令名称。这个值与CommandArgument属性一起传给Command处理事件。

     CommandArgument属性:包含有关命令的补充资讯,如Ascending排序顺序。和CommandName一起使用。

     Click事件:这一事件一般在没有命令名与LinkButton控制关联时(如“提交”按钮)使用。

     Command事件:当单击 LinkButton 控件时会引发 Command 事件。当命令名(如 Sort)与 LinkButton 控件关联时,通常使用该事件。这使您可以在一个网页上创建多个 LinkButton 控件,并以编程方式确定单击了哪个 LinkButton 控件。

了解LinkButton的属性和方法后。我们可以在程序中给LinkButton的CommandName属性和CommandArgument属性赋值,然后通过Command事件中,即可从CommandEventArgs类中得到数据,进而判断是哪个LinkButton被触发了。其中,CommandEventArgs类存储了和按钮(Button)事件相关的数据,并且可以在事件处理中通过CommandEventArgs类的属性来访问这些数据。

代码:

private void BrandLink_Click(object sender, System.Web.UI.WebControls.CommandEventArgs e)     {      string cmd = e.CommandName;   

     switch(cmd)      {       case "BrandLink1":        this.Session["fileName"]=BrandLink1.Text;        Server.Transfer("BrandPic.aspx");        break;       case "BrandLink2":        this.Session["fileName"]=BrandLink2.Text;        Server.Transfer ("BrandPic.aspx");        break;       case "BrandLink3":        this.Session["fileName"]=BrandLink3.Text;        Server.Transfer("BrandPic.aspx");        break;       case "BrandLink4":        this.Session["fileName"]=BrandLink4.Text;        Server.Transfer("BrandPic.aspx");        break;       case "BrandLink5":        this.Session["fileName"]=BrandLink5.Text;        Server.Transfer("BrandPic.aspx");        break;       case "BrandLink6":        this.Session["fileName"]=BrandLink6.Text;        Server.Transfer("BrandPic.aspx");        break;       case "BrandLink7":        this.Session["fileName"]=BrandLink7.Text;        Server.Transfer("BrandPic.aspx");        break;                   default:        this.Session["fileName"]=BrandLink0.Text;        Server.Transfer("Shop.aspx");        break;      }     }

.aspx

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值