按钮asp.net面试题

asp.net面试题  时间:2021-04-04  阅读:()
0引言Web应用程序和用户进行交互时,按钮主要用于提交数据及响应事件,在这个过程中,按钮控件是非常必要的,它是组成交互式动态网页的最基本元素之一.
通过它可以方便地将客户端的数据传给服务器,并且在程序中触发事件,执行相应的事件过程,从而完成相关的操作.
在ASP.
NET中,通过使用Button控件在网页上既可创建"提交"按钮,也可以创建"命令"按钮.
这两种按钮的主要区别在于"提交"按钮不支持CommandName(命令名称)和Com-mandArgument(命令参数)两个属性.
默认情况下,直接创建的Button控件是"提交"按钮.
在没有指定单击事件前,它只是将网页中的对象回发到服务器.
可以为其指定Click事件,以便以编程方式控制在用户单击"提交"按钮时执行事件过程.
如果要创建"命令"按钮,只需为Button控件指定CommandName和CommandArgument两个属性的值.
"命令"按钮可以响应Command事件,通过事件处理程序,以便以编程方式控制在用户单击"命令"按钮时执行的操作.
除了提交数据和响应Command事件之外,更重要的是"命令"按钮具有与之关联的命令名CommandName和命令参数CommandArgument,它可使用户在一个网页上创建多个Button控件,并以编程方式确定单击了哪个Button控件,从而使这些控件能够响应相同的事件.
此外还可以将CommandArgu-ment属性与命令按钮一起使用,提供有关要执行的命令的附加信息.
1CommandName和CommandArgument的主要功能"命令"按钮的优点就在于提交程序和响应事件的同时能够传递参数.
传递参数必须通过CommandName与CommandArgument属性来完成.
CommandName用来给出或设置Button控件的命令名称,是引发事件的源的命令,相当于text.
CommandArgument用来给出或设置Button控件的命令参数,是引发事件的源的命令参数,相当于value值.
这两个值为只读的,需要在设计阶段指定,在程序中不能动态修改.
CommandName属性和CommandArgument属性有着非常重要的作用.
例如:假如一个页面中有100个按钮,在需要在服务器端需要判断到底是哪个按钮被单击.
如果没有这二个属性,必须检测每个按扭,用一一列举的方法,给每一个按钮的Text属性或ID属性赋值,然后在程序中通过匹配Text属性值或ID属性值,来判断到底是哪个按钮被单击了.
虽然这种方法是可行的,但是很繁琐,是不可取的.
有了CommandName属性和CommandArgument属性就可以方便地解决以上问题.
首先给每个按钮的CommandName和CommandArgument属性赋不同的值,然后在按钮的OnCommand事件中,通过数据类型为CommandEventArgs的形参e来获取单击每个按钮时传递过来的CommandName和CommandArgument的值,从而判断是哪个按钮被单击了.
2在Click事件中获取CommandName和Command-Argument的值单击事件是按钮最典型的事件之一.
当单击按钮时,会同ASP.
NET按钮控件中CommandName和CommandArgument用法黄小花(江西交通职业技术学院信息工程系,江西南昌330013)摘要:在Web页面中,要判断用户单击了一组按钮中的哪个按钮,大多数情况下,可以利用命令按钮提供的CommandName和CommandArgument两个属性来完成.
这两个属性是ASP.
NET中创建命令按钮控件的两个重要属性,利用它们在程序中传递参数,通过引用参数值可,方便地在同一个事件过程确定哪个按钮被单击了.
文章主要围绕CommandName和CommandArgument用法,介绍了如何在Click事件和Command事件中获取值的方法及正确使用它们应该注意的问题.
关键词:按钮控件属性;CommandName;CommandArgument;参数传递UsageofASP.
NETButtonControlCommandNameandCommandArgumentHUANGXiao-hua(Dept.
ofInformationEngineering,JiangxiV&TCollegeofCommunication,Nanchang,Jiangxi330013,China)Abstract:InaWebpage,tojudgewhichbuttoninagroupofbuttonsisclickedbyusercanbeachievedbyusingCommandNameandCommandArgumentpropertiesprovidedbycommandbuttoninmostcases.
ThetwopropertiesareimportantforcreatingcommandbuttoncontrolinASP.
NET,theycanbeusedtopassargumentsinprogram,thenwhichbuttonisclickedcanbeeasilydeterminedthroughreferencingargumentvaluesinthesameeventprocedure.
FocusingontheusageofCommandNameandCommandArgument,howtogetthevalesfromClickandCommandevents,aswellastheproblemsthatshouldbenoticedisintroduced.
Keywords:buttoncontrolproperties;CommandName;CommandArgument;argumentpassing··36万方数据时触发Click和Command两个事件,一般会先执行Click,后执行Command.
这两个事件系统都可以获取CommandName和CommandArgument的值.
以下介绍如何在Click事件中获取值.
先看以下两段程序.
第一段程序创建一个按钮,该按钮设置了CommandName和CommandArgument属性,并且按钮产生了一个OnClick事件.
第二段程序中定义了响应OnClick事件的事件过程"Sport_Click",通过这个过程来获取CommandName和CommandArgument的值.
ProtectedSubSport_Click(ByValsenderAsObject,ByValeAsSystem.
EventArgs)Label1.
Text="你选择中的动作是"&sender.
commandname&"具体的动作目标是"&sender.
CommandArgumentEndSub在OnClick事件中,有两个形式参数:sender为对象类型Ob-ject,e为包含事件数据类的基类EventArgs.
由于EventArgs没有提供任何数据,所以不能通过形参e来获取值.
但是可以通过形参sender来获取CommandName和CommandArgument的值.
3在Command事件中获取CommandName和CommandArgument的值下面介绍在OnCommand事件中获取值.
首先通过上述第一段程序创建一个设置好了CommandName和CommandArgu-ment值的按钮,该按钮响应OnCommand事件.
在上述第二段程序中定义响应OnCommand事件的事件过程"Sport_command",通过这个过程来获取CommandName和CommandArgument的值.
ProtectedSubSport_command(ByValsenderAsObject,ByValeAsCommandEventArgs)Label1.
Text="你选择中的动作是"&e.
commandname&"具体的动作目标是"&e.
CommandArgumentEndSub在OnCommand事件中,有两个形式参数:sender仍为对象类型Object,而形参e为Command事件提供数据的CommandEventArgs类型.
所以可以直接通过参数e来获取CommandName和CommandArgument的值.
注意,这个方法使用的是CommandEventArgs,而不是常用的System.
EventArgs.
形参e获取值的方法与CommandEventArgs类密切相关.
CommandEventArgs类存储了和按钮事件相关的数据,并且可以在事件处理中通过CommandEventArgs类的属性来访问这些数据.
简单地说,当按钮被单击后,这个按钮所触发的数据都被储存到服务器的CommandEventArgs类中,这样就可以访问CommandEventArgs类中的属性.
而CommandName和CommandArgument是类CommandEventArgs的两个公共属性,所以它们可以直接被获取.
这也说明在OnCommand事件中参数是带值传递的.
4正确获取CommandName和CommandArgument值应注意的问题通过前面的例子,我们可以明白CommandName和CommandArgument值的获取与所发生的事件及形参e的数据类型有关.
如果指定的事件与e的数据类型不正确的话,在获取CommandName和CommandArgument值时将会出现错误.
以下将分析可能会发生的两种错误情况.
在Onclick事件中,如果将形参e的数据类型由.
EventArgs改为CommandEventArgs,虽然在程序中可以通过e直接引用到CommandName和CommandArgument属性,但在运行是会出现"没有与委托DelegateSubEventHandler(senderAsObject,eAsSystem.
EventArgs)相同的签名"的错误.
在OnCommand事件中,默认情况下,形参e为CommandEventArgs数据类型.
如将形参e的数据类型改为EventArgs数据类型,则不能在程序中引用CommandName和CommandArgument属性,而且运行中会出现"没有与委托DelegateSubCommandEventHandler(senderAsObject,eAsCommandEventArgs)相同的签名"的错误.
以上两种问题出现的原因就是在控件的一些事件里面调用了函数,而这些函数的参数与该事件所要用到的参数类型不一致,从而导致事件的重载均与委托不匹配.
所以如果要在OnCommand事件中引用参数e的CommandName和CommandArgument属性,必须确保形参e的数据类型为CommandEventArgs.
如果是Onclick事件,形参e的数据类型必须为EventArgs,该类型的e无法获取CommandName和CommandArgument的值,但可以通过sender参数来获取.
5通过CommandName或CommandArgument的值确定单击了哪个按钮CommandName和CommandArgument最主要的用途在于单击按钮时可以传递参数.
我们可以标记按钮,使代码能根据窗体上单击的按钮进行逻辑判断,让窗体上的多个按钮来处理一个事件.
下面通过一段相关的程序来说明,多个按钮如何同时响应一个事件以及根据CommandName的值判断哪一个按钮被单击了.
首先通过下面程序清单构建3个Button控件来处理一个事件.
1.
2.
3.
本段程序创建了三个按钮这里使用的是OnCommand事件,它们处理同一个Button_Command事件.
那么事件应该如何确定单击哪个按钮呢可以通过CommandName属性的值来确(下转第39页)··37万方数据l23456789Ol己|叫5E]日马口⑶端点数区分定义端点如4.
3节中,表示8连同域中,只用一个像素与其相邻,我们称之为端点.
如2,5,7,6,9的端点数是2,而3,4的端点数是3.
⑷端点分布域首先把单个数字分成上左、上右和下左、下右四个域.
端点分布域是指端点落在我们分好的一个域中.
如6和9的区份是:6的端点是分布在上域中,而9的端点分布在下域中.
这样我们就可以很容易区分6和9的区别了.
2和5的区分是:2的端点分布在上左和下右两个区域,5的端点分布在上右和下左两个域中,这样我们就能区分2和5了.
⑸2和7的区分由于7的写法不一样,因此,我们只能用垂直面投影法来区分2和7.
显然,7的投影上部分像素点与下部分像素点的比值是不一样的.
图1仪表数字的数字与字体显示形式从上面的分析中,我们发现最常见的上面的两种数字显示形式(图1所示),都符合上述的区分方法.
3试验仿真及结果本文所采用的数字图像是对仪表表盘的数字和汉字[5]进行识别时候的图像.
图2图3图3是图2经过细化后的得到图像.
在利用上述的方法进行识别的时候都能得到满意的识别结果,识别率达到98%以上;而且我们通过图1可以看出,在工业现场遇到的数字的形式也是多样的和复杂的.
这说明本文的方法具有兼容性强,准确率高的特点.
通过使用matlab[6]试验进行识别显示,运算的速度也比其他的方法快,具有一定的实用性.
参考文献:[1]张晋阳等.
手背静脉图像骨架特征提取的算法[J].
计算机应用,2007.
27(1):152~154[2]杨志平.
数学形态学在空间格局图像骨架提取中的应用[J].
地球信息学,2003.
32(5):411~413[3]黄凤岗,杨国,宋克欧.
柔性形态学在图象边缘检测中的应用[J].
中国图像图形学报,2000.
5(A).
4:254~287[4]徐志平.
基于交叉视觉皮质模型二值图像形态学算法[J].
计算机辅助设计与图形学学报,2007.
19(8):990~994[5]戴汝为,郝红卫,肖旭红.
汉字识别的系统与集成[M].
浙江科学技术出版社,1998.
[6]赵春晖,张兆礼,梅晓丹.
现代图像处理技术及Matlba实现[M].
人民邮电出版社,2001.
定.
在这个例子中,该属性拥有不同的值:select、edit和delete.
下一步创建这三个按钮要处理的Button_Command事件.
1.
ProtectedSubButton_Command(ByValsenderAsObject,ByValeAsSystem.
Web.
UI.
WebControls.
CommandEventArgs)2.
SelectCasee.
CommandName3.
Case"select"4.
Response.
Write("Button1wasselected")5.
Case"edit"6.
Response.
Write("Button2wasselected")7.
Case"delete"8.
Response.
Write("Button3wasselected")9.
EndSelect10.
EndSub在这一事件过程中,通过CommandName传递过来的值,可以方便地确定当前单击了哪个按钮,从而执行相应的操作.
6结束语提交按钮与命令按钮的主要区别在于它们是否有Com-mandName和CommandArgument两个属性.
设置了这两个属性的按钮称为命令按钮,它具备了提交铵钮的所有功能,还可以在程序中获取CommandName和CommandArgument两个属性传递过来的值.
具体获取值的方法可以在按钮的单击事件中来完成.
单击按钮既可以在Click中发生也可以在Command事件中发生;虽然在这两个事件中都可以获取CommandName和CommandArgument的值,但是方法却是不同的.
在这两个事件中要注意形参e的数据类型,形参e的数据类型必须与它所处的事件相匹配,否则将会出错.
参考文献:[1]赵彦敏.
ASP.
NET程序员参考手册[M].
清华大学出版社,2002.
[2](美)沃尔瑟著,谭振林等译.
ASP.
NET3.
5揭秘(卷2)[M].
人民邮电出版社,2009.
[3]苏英如.
ASP.
NET编程技术与交互式网页设计[M].
中国水利水电出版社出版社,2004.
[4]唐植华,郭兴峰.
ASP.
NET2.
0动态网站开发基础教程(C#2005篇)[M].
清华大学出版社,2008.
[5]华夏,陈新寓.
ASP.
NET案例实训教程[M].
科学出版社,2009.
[6]刘端阳,汪杰.
ASP.
NET网络开发实用工程案例[M].
人民邮电出版社,2008.
CECE(上接第37页)··39万方数据

618云上Go:腾讯云秒杀云服务器95元/年起,1C2G5M三年仅288元起

进入6月,各大网络平台都开启了618促销,腾讯云目前也正在开展618云上Go活动,上海/北京/广州/成都/香港/新加坡/硅谷等多个地区云服务器及轻量服务器秒杀,最低年付95元起,参与活动的产品还包括短信包、CDN流量包、MySQL数据库、云存储(标准存储)、直播/点播流量包等等,本轮秒杀活动每天5场,一直持续到7月中旬,感兴趣的朋友可以关注本页。活动页面:https://cloud.tencent...

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

选择Vultr VPS主机不支持支付宝付款的解决方案

在刚才更新Vultr 新年福利文章的时候突然想到前几天有网友问到自己有在Vultr 注册账户的时候无法用支付宝付款的问题,当时有帮助他给予解决,这里正好顺带一并介绍整理出来。毕竟对于来说,虽然使用的服务器不多,但是至少是见过世面的,大大小小商家的一些特性特征还是比较清楚的。在这篇文章中,和大家分享如果我们有在Vultr新注册账户或者充值购买云服务器的时候,不支持支付宝付款的原因。毕竟我们是知道的,...

asp.net面试题为你推荐
蓝瘦香菇被抢注有没有恶心蓝瘦香菇这两词的。有机zz怎么看不了呢youj1zz不能看还有什么网站杰景新特杰普特长笛JFL-511SCE是不是有纯银的唇口片??价格怎样??rawtools相机中的RAW是什么意思?www.haole012.comhttp://fj.qq.com/news/wm/wm012.htm 这个链接的视频的 第3分20秒开始的 背景音乐 是什么?sss17.com为什么GAO17.COM网站打不开了51sese.comwww.51xuanh.com这是什么网站是骗人的吗?www.5any.com我想去重庆上大学lcoc.topeagle solder stop mask top是什么层www.idanmu.com腾讯有qqsk.zik.mu这个网站吗?
www二级域名 汉邦高科域名注册 购买域名和空间 阿云浏览器 web服务器架设软件 大容量存储 免费smtp服务器 搜索引擎提交入口 服务器监测 国外ip加速器 starry 游戏服务器出租 工信部网站备案查询 免费个人主页 cdn服务 乐视会员免费领取 重庆联通服务器托管 zcloud 热云 nano 更多