【问题标题】:ASP.NET Webforms - Default Button using Enter KeyASP.NET Webforms - 使用 Enter 键的默认按钮
【发布时间】:2021-12-14 02:02:19
【问题描述】:

我四处寻找并阅读了所有内容,但我所做的一切似乎都不起作用,所以我会再次问这个问题。

我有一个 ASP.NET WebForms 应用程序,该应用程序的页面可以收集多条数据(文本框和下拉菜单)以便执行搜索。一旦从用户那里收集了所有数据,用户就可以点击“搜索”按钮来启动搜索。我希望用户也能够简单地点击 Enter 按钮并启动搜索。我似乎无法成功地做到这一点。

我在面板级别尝试了 DefaultButton 方法,因为所有 ASP.NET 控件都在面板内。没有运气。我已经尝试使用 JavaScript 函数方法 (defaultEnterKey) 检查 event.keyCode === 13 并尝试将属性添加到后面代码中的一个文本框 (onkeydown) 以使其正常工作。没有。

我显然错过了什么。

【问题讨论】:

    标签: asp.net webforms key default enter


    【解决方案1】:

    好吧,您可以先在表单级别尝试。

    所以在表单标签中,说试试这个:

    <form id="form1" runat="server" defaultbutton="Button3">
    

    试试上面的方法 - 即使有一个更新面板,然后是更新面板中的一个面板,上面的方法应该可以工作。

    因此请尝试表单级别设置 - 这是包含给定页面中所有内容的最外层表单。

    编辑:whopper 和 Mount everest 的详细信息已注意到该页面有一个主页面,因此当然不存在表单标签。

    因此,我建议这样做:

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    
        <ContentTemplate>
        <asp:Panel ID="Panel1" runat="server" DefaultButton="Button2" >
    
        your markup here 
    
        </asp:Panel>
    
        </ContentTemplate>
    
    </asp:UpdatePanel>
    

    【讨论】:

    • 不,不能那样做。唯一的表单标签位于主表单上。如果我尝试使用您建议的内容引用主控上的按钮 ID,则会收到以下错误:InvalidOperationException:'form1' 的 DefaultButton 必须是 IButtonControl 类型的控件的 ID。不知道这意味着什么。
    • 然后试试面板。 (不是更新面板,而是面板。您可以在该面板中指定 DefaultButton="Button1" - 试一试。所以它将是 UpdatePanel->ContentTemplate->Panel ----- 所以您可以指定默认面板中的按钮,以及您在更新面板中的所有内容,现在都需要在该面板中以保存所有内容,因此请尝试在面板中使用 DefaultButton="Button1"。
    • 查看我的帖子/编辑,了解我们需要的嵌套示例。
    【解决方案2】:

    您可以简单地使用 jQuery 在 KeyPress 上绑定一个函数并检查它是否是 Enter 键。如果是这样,那就用它做点什么。 需要返回 false 以防止表单执行 PostBack。

    <asp:TextBox ID="TextBox1" runat="server" CssClass="CaptureEnter"></asp:TextBox>
    
    <script>
        $('.CaptureEnter').keypress(function (e) {
            if (e.keyCode === 13) {
                alert('Enter was pressed! Start searching for: ' + $(this).val());
                return false;
            }
        });
    </script>
    

    【讨论】:

      猜你喜欢
      • 2016-04-23
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多