按钮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万方数据

远程登录VNC无法连接出现

今天有网友提到自己在Linux服务器中安装VNC桌面的时候安装都没有问题,但是在登录远程的时候居然有出现灰色界面,有三行代码提示"Accept clipboard from viewers,Send clipboard to viewers,Send primary selection to viewers"。即便我们重新登录也不行,这个到底如何解决呢?这里找几个可以解决的可能办法,我们多多尝试。...

legionbox:美国、德国和瑞士独立服务器,E5/16GB/1Gbps月流量10TB起/$69/月起

legionbox怎么样?legionbox是一家来自于澳大利亚的主机销售商,成立时间在2014年,属于比较老牌商家。主要提供VPS和独立服务器产品,数据中心包括美国洛杉矶、瑞士、德国和俄罗斯。其中VPS采用KVM和Xen架构虚拟技术,硬盘分机械硬盘和固态硬盘,系统支持Windows。当前商家有几款大硬盘的独立服务器,可选美国、德国和瑞士机房,有兴趣的可以看一下,付款方式有PAYPAL、BTC等。...

Hostodo:$19.99/年KVM-1GB/12GB/4TB/拉斯维加斯

Hostodo发布了几款采用NVMe磁盘的促销套餐,从512MB内存起,最低年付14.99美元,基于KVM架构,开设在拉斯维加斯机房。这是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,产品性能一般,数据中心目前在拉斯维加斯和迈阿密,支持使用PayPal或者支付宝等付款方式。下面列出几款NVMe硬盘套餐配置信息。CPU:1core内存:512MB...

asp.net面试题为你推荐
摩拜超15分钟加钱摩拜单车不是按骑行时间收费吗,我怎么只要开锁就要支付一元(而且只骑十几分钟)蓝色骨头手机宠物的一个蓝色骨头代表多少级,灰色又代表多少级,另外假如有骨头又代表多少级比肩工场比肩接踵的意思杰景新特谁给我一个李尔王中的葛罗斯特这个人物的分析?急 ....先谢谢了巫正刚阿迪三叶草彩虹板鞋的鞋带怎么穿?详细点,最后有图解。高分求www.haole012.comhttp://fj.qq.com/news/wm/wm012.htm 这个链接的视频的 第3分20秒开始的 背景音乐 是什么?336.com求一个游戏的网站 你懂得www.55125.cnwww95599cn余额查询mole.61.com谁知道摩尔庄园的网址啊sesehu.comwww.hu338.com 怎么看不到啊
如何注册域名 深圳域名空间 vps虚拟服务器 什么是域名解析 sugarhosts idc评测网 轻量 免费个人网站申请 美国十次啦服务器 刀片服务器是什么 cdn联盟 亚马逊香港官网 搜索引擎提交入口 爱奇艺会员免费试用 域名转入 云销售系统 数据湾 google搜索打不开 windowsserver2012r2 gotoassist 更多