您好、欢迎来到现金彩票网!
当前位置:ds视讯 > 服务器控件 >

ASPNET中服务器端控件内 如何使用回车直接提交?

发布时间:2019-07-26 15:52 来源:未知 编辑:admin

  不说废话,如题,比如说在一个页面中,既有用户登录(Login),又有页面搜索或者新用户注册(CreateUserWizard),那么就会造成这样的局面:无论光标在哪个控件区域内,只要在页面中单击回车键,则...

  不说废话, 如题, 比如说在一个页面中, 既有用户登录(Login), 又有页面搜索或者新用户注册(CreateUserWizard), 那么就会造成这样的局面:

  无论光标在哪个控件区域内, 只要在页面中单击回车键, 则页面永远只提交最上方的控件.

  比如说我的搜索控件(包含TextBox和asp:Button)在页面最上方, 但是我现在不想搜索, 我只想登录我的账号, 于是我在下方的Login控件内输入我的账号和密码, 然后习惯性的击回车, 但是遗憾的是, 我并没有登录网站, 而是直接进行了搜索.

  如果想登录, 只能点击用户登录按钮, 但可想而知, 大部分人在搜索、注册、登录时都是极少去点按钮的,通常只会以回车代替。

  引起这种现象的原因其实很简单,ASP.NET的页面中只允许出现一个form runat=server, 所以, 你一击回车, 页面只知道你要提交, 但不知道你要提交哪一部分, 默认提交最上方的控件.

  我现在的解决方法很像是一种hack, 我在每组可提交的服务器端控件外嵌套asp:panel控件, 然后设置panel控件的defaultButton属性为内部所套控件的Button, 这样可以解决大部分问题, 但新问题如下:

  1、频繁嵌套,影响执行效率,而且事实上我本来不需要panel控件,这样做有点浪费而且大而无当。

  2、并不能从根本上解决问题,panel只能嵌套一层, 如果控件不只一层, 比如“用户注册”控件,是分好几层的,先让用户填写基本信息, 然后点击“下一步”,然后填写详细信息, 再“下一步“.......

  也有其他的, 不过跟这基本类似, 顶多加上一些别的判断, 这还不如用Panel呢, 这样做只能移动焦点, 根本不能提交, 严重不推荐.

  完整的,详细的,完美的解决此类问题, javascript或者服务器端编程均可, 请附完整代码, 不要只讲道理, 因为大部分人都懂道理, 但懂道理不一定能写出代码, 此问题希望专业人士作答, 勿从网上搜索拷贝, 网上我都找过了, 都算不上好.

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  思路,当你点击某个form是设置相关属性,然后onkeypress时触发一个事件,来判断到底点击了那个form,并提交到相应表单

http://wendevick.net/fuwuqikongjian/810.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有