Linkbutton控件在项目中的简单应用
我们知道,在web控件中有一组用于表单提交和回传的控件,即Button控件。这类控件用于将带有用户输入值的页面提交给服务器,以便用页面中的代码对这些值进行处理。它会在服务器上产生一个Click事件,供用户在代码中使用。
Button控件可分为button控件、LinkButton控件、ImageButton控件三类。它们都用于提交页面。其中ImageButton控件可以显示为一幅图像,并且能够提供用户单击位置的坐标位置。而LinkButton控件则在页面上显示为一个超级链接。
在网上鞋店系统中,我们简单应用了在一个页面内使用多个LinkButton控件执行同一个命令的方法。接下来我们比较详细的介绍一下。
问题一:使用LinkButton是用于链接到各个品牌细节的页面。那么为什么不选用导航HyperLink,而以LinkButton取而代之?
事实上,HyperLink控件仅仅是产生一个有URL指向的超级链接,而LinkButton控件属于Button类控件。它本身支持事件处理,并没有NavigateUrl属性,它的URL链接功能亦主要是由事件处理完成——LinkButton控件支持OnClick、OnCommand等服务器端方法。可归纳如下:
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;
}
}
我们知道,在web控件中有一组用于表单提交和回传的控件,即Button控件。这类控件用于将带有用户输入值的页面提交给服务器,以便用页面中的代码对这些值进行处理。它会在服务器上产生一个Click事件,供用户在代码中使用。
Button控件可分为button控件、LinkButton控件、ImageButton控件三类。它们都用于提交页面。其中ImageButton控件可以显示为一幅图像,并且能够提供用户单击位置的坐标位置。而LinkButton控件则在页面上显示为一个超级链接。
在网上鞋店系统中,我们简单应用了在一个页面内使用多个LinkButton控件执行同一个命令的方法。接下来我们比较详细的介绍一下。
问题一:使用LinkButton是用于链接到各个品牌细节的页面。那么为什么不选用导航HyperLink,而以LinkButton取而代之?
事实上,HyperLink控件仅仅是产生一个有URL指向的超级链接,而LinkButton控件属于Button类控件。它本身支持事件处理,并没有NavigateUrl属性,它的URL链接功能亦主要是由事件处理完成——LinkButton控件支持OnClick、OnCommand等服务器端方法。可归纳如下:
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;
}
}
标签:
Linkbutton
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Linkbutton控件在项目中的简单应用”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2025年05月13日
2025年05月13日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]