我一直在监视MSDN,无法看到TextBox的属性/方法,它允许您获取在字段上设置的默认文本值;我希望能够将当前的txtMyTextBox.Text与默认值进行比较(如此伪代码所示):
var myValue = (String.Compare(txtMyTextBox.Text, txtMyTextBox.DefaultText) ? "" : txtMyTextBox.Text)
这是ASP.NET控件中存在的东西吗?还是我问得太多了? :)
感谢您的帮助(一如既往)!
皮特
答案 0 :(得分:3)
默认文本是指编辑前的初始文本吗?
也许在某个地方的常量/ field / etc中声明它,并以编程方式而不是在标记中设置它 - 即在第一次加载中txtMyTextBox.Text = defaultText;
- 然后您可以再次与defaultText
进行比较跟踪变化。
答案 1 :(得分:2)
文本框(或任何其他控件)上没有“DefaultText”属性。 您可能已经通过常量字符串定义了默认值,因此只需将Text属性与该常量字符串进行比较。
答案 2 :(得分:1)
在回发期间没有内置的方法来检索文本框的默认值。
一种选择是使用ViewState在初始PageLoad期间存储值,并在回发期间从那里检索它以进行比较。
答案 3 :(得分:1)
您可以检查的唯一属性是Text属性。如果您需要比较原始值,那么最好将其存储为隐藏字段或会话变量。然后,您可以对textbox.Text属性中的任何内容进行检查。
答案 4 :(得分:1)
将原始值放在隐藏字段或视图状态中。
答案 5 :(得分:1)
TextBox类仅支持.Text属性,因此必须在首次呈现页面之前将“默认”值存储在某处,以便在页面回发时检查文本框的.text属性。这个“默认”值可以存储在cookie中(如果足够小),在页面的ViewState中,在页面上的隐藏表单字段中,甚至存储在应用程序或会话状态中。
答案 6 :(得分:0)
TextBox没有DefaultText属性,所以我很困惑。你是如何设置默认文本值的?如果你只是在代码中设置,即
<asp:TextBox ...>Default Value</asp:TextBox>
然后它将是.Text属性的值。