处理两个TextBox的提交操作

时间:2010-10-29 15:38:06

标签: c# asp.net textbox webforms ascx

我有一个ASP.net页面。
这有一个Ajax Toolkit Tab控件 有标签。
我写了自定义的ascx控件。

我有一个执行搜索操作的文本框。声明如下:

            <asp:TextBox ID="txtPrereqSearch" runat="server"
                ontextchanged="txtPrereqSearch_TextChanged"></asp:TextBox>

没什么特别的。这种格式已经工作了几个月。没有提交按钮。当我点击进入时,它只会回发。当我使用相同类型的功能添加第二个自定义控件时出现问题。现在,当我在这些文本框中键入内容并按回车键时,浏览器不会回发。

浏览器似乎有一种默认方式在一个表单中处理一个文本框,但当数字达到两个时,该行为会发生变化。

有一个简单的方法吗?我想我可以创建一个隐藏的提交按钮,但是当功能在两个单独的自定义控件中时,似乎可能有更好的方法来处理这个问题。

感谢您的反馈!

2 个答案:

答案 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>