簡體   English   中英

如果您使用 <input> 與之相比 <asp:Textbox> ?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM