我有一个包含表单和按钮的ASP.NET页面。为了使用OnKeyPress
和javascript函数(阻止用户使用回车键而不添加FilteredTextBoxExtender
)属性,我必须将<asp:Textbox>
更改为{{1与<input>
。
这被认为是不好的做法吗?或者是否应该使用有效的情况?
要确保此问题不是主观的 - 是否还有其他方法可以阻止用户在输入ASP.NET文本框时使用回车键? (不将代码放在后面的代码中)
答案 0 :(得分:3)
一般情况下,只有在严格要求的情况下才应使用Asp.Net控件,而经典HTML要快得多,因为他们不需要任何服务器细化来呈现
答案 1 :(得分:3)
如果您希望通过.NET代码隐藏访问您的输入,那么最好使用TextBox控件。您可以在输入上放置runat = server,但仅限于必须时。
如果是我,我会使用,添加一个ID并尽可能设置ClientIDMode =“Static”,或者添加一个CssClass =“class”的类,然后使用jQuery来处理onKeyPress,即使是这样的这样:
$('.class').on('change', function() {
});
答案 2 :(得分:2)
您无需更改控件类型即可在javascript中使用客户端事件。
该控件具有ClientId
属性,可用于将事件绑定到(例如,使用getElementById
)。
答案 3 :(得分:1)
您可以将JavaScript添加到<asp:TextBox />
。您可以使用控件的ClientID附加JavaScript,也可以使用
MyTextBox.Attributes.Add(“onKeyPress”,“myJavaScriptFunction()”);
答案 4 :(得分:1)
您应该只使用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>