清除ASP.NET中的TextBox

时间:2009-12-24 10:31:42

标签: c# asp.net

我有网页,其中有文本框有一些默认值。

我必须清除文本框中的值。我有2个选项

1. textbox.text="";
2. textbox.text.remove(0,length);

我想知道应该使用哪一个。它是否对页面性能产生任何影响,因为页面中放置了许多文本框。

由于

6 个答案:

答案 0 :(得分:21)

最好的方法是......

textbox.text = string.Empty;
  

还记得字符串类型是   不可变!

答案 1 :(得分:7)

没有区别 - 为您和您的同事做最可读的事情。

许多人更喜欢使用string.Empty

答案 2 :(得分:2)

  1. 这两个选项之间的性能差异太小,无法衡量,最有可能。
  2. TextBox.Text = String.Empty;更具可读性。它清楚地说明了您要做的事情:“将此文本框的text属性设置为空字符串”。
  3. 我建议你选择作业,因为它更快,更清晰。

答案 3 :(得分:1)

据推测,你的意思是当用户点击框中的int时用javascript清除值?如果是这样,它对性能没有任何影响。

我在大多数页面中都使用jQuery,因此我只需使用文本框的ClientId连接此函数以清除onClick上的默认值:

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

如果你的意思是在代码隐藏中清除它,请使用:

yourTextBox.Text = String.Empty;

答案 4 :(得分:1)

textbox.text="";

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

答案 5 :(得分:0)

即使有数百/数千个电话,对性能的影响仍然很小,但

textbox.text = "";

理论上应该稍微快一点,因为你只是分配一个新值而不是处理字符串(如.Remove所做的那样)

执行此操作的最佳方法是执行

textbox.text = String.Empty;

更新:如果计算时钟周期,String.Empty实际上也会执行得更快,因为它不会创建新对象,而“”会创建一个新的String对象

但是,你真的不应该太在意这个问题,没有太多方法可以将字符串设置为空,这会导致性能问题!你应该使用最具可读性的......