用户控件中回车提交问题的解决
2006-12-29 21:57
375 查看
今天工作中碰到一个问题,我使用用户控件制作一个搜索框,上面带有一个下接列表及一个文本框
当我把用户控件拖到WebForm上面的时侯,在文本框上随便输入一些文件,直接回车,发现页面是PostBack了,可是并没有引发SearchButton的处理事件。
ascx的源码如下:
<DIV align="center">
<asp:dropdownlist id="ddlType" runat="server"></asp:dropdownlist>
<asp:TextBox id="tbxKey" runat="server" Width="105px"></asp:TextBox>
<asp:imagebutton id="imgbtnSearch" runat="server" CausesValidation="False" ImageUrl="~/images/search.gif"></asp:imagebutton>
</DIV>
asp.net是通过ViewState中的数据来判断是哪个Control引发事件,再确定调用的处理方法。以上的问题应该是回车时,页面ViewState里没有正确的指示引发事件的控件引起的。
还有一个问题,就是一个web form页面,如果有多个文本框,多个button,比如,我们一个主页上会有搜索框及搜索button,会员登录框及登录button,最好的实现是用户在搜索框上回车时,提交的是搜索,在会员用户名或密码框上回车时是登录事件。
地球人都知道,用户控件拖到web from上后,用户控件上的控件名称都会发生变化,且一个web from又只能有一个runat server 的Form。这时,经过一番修改后,把用户控件的代码改成如下:
修改后的ascx代码:
<DIV align="center" onkeypress="javascript:SubmitSearch()"><asp:dropdownlist id="ddlType" runat="server"></asp:dropdownlist>
<asp:TextBox id="tbxKey" runat="server" Width="105px"></asp:TextBox>
<asp:imagebutton id="imgbtnSearch" runat="server" CausesValidation="False" ImageUrl="~/images/search.gif"></asp:imagebutton></DIV>
</script>
<input style="display:none" />
此时,不管这个搜索框的用户控件拉到哪里,只要在文本框上直接回车,就能提交这个搜索框了。
但要注意就是没有<input style="display:none" />这部分就会不成功,不知道为什么,呵呵。(网上搜了一下,也有朋友提出这个问题,但没有答案),我的做法有什么不对的地方,也请指正,谢谢!
当我把用户控件拖到WebForm上面的时侯,在文本框上随便输入一些文件,直接回车,发现页面是PostBack了,可是并没有引发SearchButton的处理事件。
ascx的源码如下:
<DIV align="center">
<asp:dropdownlist id="ddlType" runat="server"></asp:dropdownlist>
<asp:TextBox id="tbxKey" runat="server" Width="105px"></asp:TextBox>
<asp:imagebutton id="imgbtnSearch" runat="server" CausesValidation="False" ImageUrl="~/images/search.gif"></asp:imagebutton>
</DIV>
asp.net是通过ViewState中的数据来判断是哪个Control引发事件,再确定调用的处理方法。以上的问题应该是回车时,页面ViewState里没有正确的指示引发事件的控件引起的。
还有一个问题,就是一个web form页面,如果有多个文本框,多个button,比如,我们一个主页上会有搜索框及搜索button,会员登录框及登录button,最好的实现是用户在搜索框上回车时,提交的是搜索,在会员用户名或密码框上回车时是登录事件。
地球人都知道,用户控件拖到web from上后,用户控件上的控件名称都会发生变化,且一个web from又只能有一个runat server 的Form。这时,经过一番修改后,把用户控件的代码改成如下:
修改后的ascx代码:
<DIV align="center" onkeypress="javascript:SubmitSearch()"><asp:dropdownlist id="ddlType" runat="server"></asp:dropdownlist>
<asp:TextBox id="tbxKey" runat="server" Width="105px"></asp:TextBox>
<asp:imagebutton id="imgbtnSearch" runat="server" CausesValidation="False" ImageUrl="~/images/search.gif"></asp:imagebutton></DIV>
</script>
<input style="display:none" />
此时,不管这个搜索框的用户控件拉到哪里,只要在文本框上直接回车,就能提交这个搜索框了。
但要注意就是没有<input style="display:none" />这部分就会不成功,不知道为什么,呵呵。(网上搜了一下,也有朋友提出这个问题,但没有答案),我的做法有什么不对的地方,也请指正,谢谢!
相关文章推荐
- ASP.NET多个用户控件回车提交表单问题解决和获取用户控件上的ID方法
- ASP.NET多个用户控件回车提交表单问题
- 用户控件包含一个搜索功能,但是在调用页面中按回车时无法直接提交这个表单,只有鼠标点击才提交,如何解决?
- 动态创建的 HTML 控件提交后数据丢失问题及解决
- 关于html控件和服务器控件摁回车后提交按钮的问题
- 解决用户控件里面的JavaScript函数重名的问题
- 解决导航问题winform的左侧树控件右侧panel加载用户控件
- IE和FireFox按回车自动提交表单问题解决
- js光标定位文本框回车表单提交问题的解决方法
- 解决用户控件循环引用问题
- asp.net用户控件中使用相对路径的解决方法--------图片路径问题(用户控件、图片路径),ResolveUrl
- 解决ASP.NET中文本框上按回车时提交按钮的问题
- 在master Page或用户控件中解决路径的问题
- 解决Asp.net中翻页问题的自定义用户控件
- form表单中只有一个input时,回车自动提交的问题解决
- saucer(思归)解决的关于:页面A.aspx 动态载入用户自定义控件a.ascx,但a.ascx中的按钮提交后,不执行按钮的事件,而是直接刷新页面
- 解决ajax提交form,点击保存按钮和点击回车效果不同的问题
- 今天遇到一个问题,原来在html的form中如果只有一个type="text"的控件,如果在text中点击回车键,就是自动提交表单!
- 在DataList使用 用户控件 并 绑定属性 时可能的问题的解决办法
- 解决 ASP.NET 中文本框上按回车时系统缺省提交按钮的问题