Button控件可分为button控件、LinkButton控件、ImageButton控件三类。它们都用于提交页面。其中ImageButton控件可以显示为一幅图像,并且能够提供用户单击位置的坐标位置。而LinkButton控件则在页面上显示为一个超级链接。
一个页面里对多个LinkButton控件定义方法?要为每一个控件都写同样的方法吗?这显然是不切实际的。那如果只写一个方法,又如何判断是哪个控件触发,服务器向谁提供服务?
◆ Command事件:当单击LinkButton 控件时会引发 Command事件。当命令名(如 Sort)与 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;
sw
ITch(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;
}
}