如果你使用<;输入>;对于与<;asp:文本框>;

本文关键字:gt lt asp 文本 输入 如果 | 更新日期: 2023-09-27 18:26:31

我有一个ASP.NET页面,其中包含一个窗体和一个按钮。为了使用OnKeyPress和javascript函数(在不添加FilteredTextBoxExtender的情况下阻止用户使用回车键)属性,我不得不将<asp:Textbox>更改为带有type="text"<input>

这被认为是不良做法吗?或者是否存在应该使用的有效位置?

为了确保这个问题不是主观的——有没有其他方法可以防止用户在ASP.NET文本框中键入时使用回车键?(不将代码放在后面的代码中)

如果你使用<;输入>;对于与<;asp:文本框>;

一般情况下,只有在严格要求时才应该使用Asp.Net控件,而且经典HTML要快得多,因为它们不需要任何服务器细节来呈现

如果您希望您的输入由.NET代码后台访问,那么最好使用TextBox控件。您可以在输入上放置runat=server,但只有在必须的情况下。

如果是我,我会使用,如果可能的话,添加一个ID并设置ClientIDMode="Static",或者添加一个CssClass="class"的类,然后使用jQuery来处理onKeyPress,即使有这样的东西:

$('.class').on('change', function() {
});

在javascript中使用客户端事件不需要更改控件类型。

控件具有可用于将事件绑定到的ClientId属性(例如,使用getElementById)。

您可以将JavaScript添加到<asp:TextBox />中。您可以使用控件的ClientID附加JavaScript,也可以使用将其添加到代码绑定中

MyTextBox.Attributes.Add("onKeyPress","myJavaScriptFunction()");

您应该只使用asp:TextBox的ClientID下面是一个使用jQuery的例子:

<asp:TextBox ID="inputTB" runat="server"></asp:TextBox>
<script language="javascript" type="text/javascript">
    $('#<%=inputTB.ClientID%>').keypress(function (e) {
        if (e.which == 13) // return key
        {
            return false;
        }
    });
</script>