[英]Is it considered bad practice if you use an <input> for a textbox compared to <asp:Textbox>?
我有一個包含表單和按鈕的ASP.NET頁面。 為了使用OnKeyPress
和javascript函數(阻止用戶使用回車鍵而不添加FilteredTextBoxExtender
)屬性,我必須將<asp:Textbox>
更改為type="text"
的<input>
。
這被認為是不良做法嗎? 還是應該在哪里使用有效的場所?
為確保此問題不是主觀的,是否還有其他方法可以防止用戶在ASP.NET文本框中鍵入內容時使用Enter鍵? (不將代碼放在后面的代碼中)
通常,只有在嚴格要求的情況下才應使用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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.