Linkbutton控件在项目中的简单应用
2023-06-13 09:14:54 时间
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类的属性来访问这些数据。
代码:
复制代码代码如下:
我们知道,在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类的属性来访问这些数据。
代码:
privatevoidBrandLink_Click(objectsender,System.Web.UI.WebControls.CommandEventArgse)
{
stringcmd=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;
}
}
相关文章
- 231-CH579M学习开发-以太网例程-TCP服务器(项目应用封装,和电脑直连测试)
- 成都链安“区块链+智慧助警服务平台”入选成都市国家区块链创新应用试点项目
- 热文回顾|供应商管理库存VMI在轨道交通行业中的应用
- iOS应用发布ITMS-90704错误解决
- Spring AOP在项目中的典型应用场景
- 苹果应用如何在windows上架应用?
- 【Android应用开发】RecycleView API 翻译 (文档翻译)
- Hadoop项目实战-用户行为分析之应用概述(三)详解大数据
- Hadoop项目实战-用户行为分析之应用概述(二)详解大数据
- ?【NDK R9在Linux上的应用】(ndkr9linux)
- MySQL中的 IF 条件语句的应用(mysql中if的用法)
- 实现项目中高性能的Redis应用(redis应用到项目中)
- MySQL数据库之PXC的实现和应用(pxcmysql)
- iOS 15新特性:可实现iPad的跨应用拖放功能
- Oracle 中基本函数的应用(oracle基本函数)
- 深入理解Oracle触发器的类型及其应用(oracle触发器类型)
- 安卓系统中MySQL数据库的应用(安卓mysql数据库)
- 实现电商项目的突破性进展Redis技术的应用(电商项目中redis)
- 电商项目推动的利器Redis的用武之地(电商项目redis的应用)
- 的应用Web开发中Redis的助力极大提升项目效率(web项目中redis)
- Redis项目应用分析(redis项目使用情况)
- Redis在项目中的实际应用(redis项目中实际应用)
- 红色之石在项目中如何开发利用(redis项目中如何应用)
- JavaScript表格高亮类的应用[高级]
- 一个JAVA小项目--Web应用自动生成Word