簡體   English   中英

清除 ASP.NET 中的文本框

[英]Clearing a TextBox in ASP.NET

我有網頁,其中有一些默認值的文本框。 我必須從文本框中清除該值。 我有兩個選擇:

textbox.text="";

或者

textbox.text.remove(0,length);

我應該使用哪一種? 它是否對頁面性能有任何影響(我的頁面上放置了許多文本框)?

最好的方法是

textbox.text = string.Empty;

還要記住字符串類型是不可變的!

這沒什么區別 - 做對你和你的同事來說最易讀的事情。

許多人更喜歡使用string.Empty

  1. 很可能,這兩個選項之間的性能差異太小而無法衡量。
  2. TextBox.Text = String.Empty; 更具可讀性。 它清楚地說明了您要執行的操作:“將此文本框的文本屬性設置為空字符串”。

我建議你去做這個作業,因為它既快又清晰。

textbox.text="";

或者

 foreach (var item in Page.Controls)
    {
        if (item is TextBox)
        {
            ((TextBox)item).Text = "";
        }
    }

據推測,您的意思是當用戶單擊框時使用 javascript 清除該值? 如果是這樣,它不會對性能產生任何影響。

我在大多數頁面中使用 jQuery,所以我只是連接這個函數來清除 onClick 的默認值,使用文本框的 ClientId:

$('#ctl00_TextBox').click(function() { $('#ctl00_TextBox').val('');

如果您的意思是在代碼隱藏中清除它,請使用以下命令:

yourTextBox.Text = String.Empty;

即使有數百/數千個調用,對性能的影響也很小,但是

textbox.text = "";

理論上應該稍微快一點,因為您只是分配一個新值而不是處理字符串(如 .Remove 那樣)

最好的方法是這樣做

textbox.text = String.Empty;

更新:如果你計算時鍾周期, String.Empty 實際上也會執行得更快,因為它不會創建一個新對象,而 "" 將創建一個新的 String 對象。

但是,您真的不應該太擔心這一點,沒有很多方法可以將字符串設置為空會導致性能問題! 你應該使用最易讀的那個......

如果我有 2 個要同時清除內容的文本框,該怎么辦?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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