0

我有一个 ASP.net 页面。
它有一个 Ajax Toolkit 选项卡控件。
那有标签。
那有我写的自定义 ascx 控件。

我有一个执行搜索操作的文本框。它是这样声明的:

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

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

浏览器似乎有一种以一种形式处理一个文本框的默认方式,但是当数字达到两个时,这种行为会发生变化。

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

感谢您的反馈!

4

2 回答 2

0

看看这个:http ://www.allasp.net/enterkey.aspx

没有提交按钮的默认行为似乎取决于浏览器,并且该行为确实可以取决于输入控件的数量。

我会添加隐藏的“提交”按钮(例如style="display:none;"),它应该确保它总是被提交。

于 2010-10-29T15:41:47.493 回答
0

答案与我预期的有点不同,但在哲学上就像我最初的想法,@jamietre 强化了。

我不得不用一个带有属性的<asp:Panel>标签来包围控件。DefaultButton像这样:

<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>
于 2010-10-29T17:33:20.433 回答