我有一个ASP.net页面。
这有一个Ajax Toolkit Tab控件
有标签。
我写了自定义的ascx控件。
我有一个执行搜索操作的文本框。声明如下:
<asp:TextBox ID="txtPrereqSearch" runat="server"
ontextchanged="txtPrereqSearch_TextChanged"></asp:TextBox>
没什么特别的。这种格式已经工作了几个月。没有提交按钮。当我点击进入时,它只会回发。当我使用相同类型的功能添加第二个自定义控件时出现问题。现在,当我在这些文本框中键入内容并按回车键时,浏览器不会回发。
浏览器似乎有一种默认方式在一个表单中处理一个文本框,但当数字达到两个时,该行为会发生变化。
有一个简单的方法吗?我想我可以创建一个隐藏的提交按钮,但是当功能在两个单独的自定义控件中时,似乎可能有更好的方法来处理这个问题。
感谢您的反馈!
答案 0 :(得分:0)
检查出来:http://www.allasp.net/enterkey.aspx
没有提交按钮的默认行为似乎取决于浏览器,行为确实取决于输入控件的数量。
我会添加隐藏的“提交”按钮(例如style="display:none;"
),以确保始终提交。
答案 1 :(得分:0)
答案与我的预期略有不同,但哲学上就像我最初的想法那样@jamietre得到了加强。
我必须使用带有<asp:Panel>
属性的DefaultButton
标记来围绕控件。 A-like-a所以:
<asp:Panel ID="ButtonPanel" runat="server" DefaultButton="btnSubmit">
<asp:Label ID="Label1" runat="server" Text="Course:"></asp:Label>
<asp:TextBox ID="txtPrereqSearch" runat="server"
ontextchanged="txtPrereqSearch_TextChanged"></asp:TextBox>
<asp:TextBoxWatermarkExtender ID="txtPrereq_TextBoxWatermarkExtender"
runat="server" Enabled="True" TargetControlID="txtPrereqSearch"
WatermarkCssClass="Watermark" WatermarkText="e.g., MATH201"></asp:TextBoxWatermarkExtender>
<asp:Button ID="btnSubmit" CssClass="InvisibleSubmit" runat="server" Text="Submit" OnClick="txtPrereqSearch_TextChanged"/>
</asp:Panel>