如果你使用<;输入>;对于与<;asp:文本框>;
本文关键字:gt lt asp 文本 输入 如果 | 更新日期: 2023-09-27 18:26:31
我有一个ASP.NET页面,其中包含一个窗体和一个按钮。为了使用OnKeyPress
和javascript函数(在不添加FilteredTextBoxExtender
的情况下阻止用户使用回车键)属性,我不得不将<asp:Textbox>
更改为带有type="text"
的<input>
。
这被认为是不良做法吗?或者是否存在应该使用的有效位置?
为了确保这个问题不是主观的——有没有其他方法可以防止用户在ASP.NET文本框中键入时使用回车键?(不将代码放在后面的代码中)
一般情况下,只有在严格要求时才应该使用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>