3

我一直在监视 MSDN,但看不到 TextBox 的属性/方法,它允许您获取在字段上设置的默认文本值;我希望能够将当前的 txtMyTextBox.Text 与默认值进行比较(就像这个伪代码所示):

var myValue = (String.Compare(txtMyTextBox.Text, txtMyTextBox.DefaultText) ? "" : txtMyTextBox.Text)

这是 ASP.NET 控件中存在的东西吗?还是我要求太多了?:)

感谢您的帮助(一如既往)!

皮特

4

7 回答 7

3

默认文本是指编辑前的初始文本吗?

也许在某处的常量/字段/等中声明它,并以编程方式而不是在标记中设置它 - 即在第一次加载时txtMyTextBox.Text = defaultText;- 然后你可以再次比较defaultText以跟踪更改。

于 2009-02-13T11:21:36.057 回答
2

文本框(或任何其他控件)上没有“DefaultText”属性。您可能已经通过常量字符串定义了默认值,因此只需将 Text 属性与该常量字符串进行比较。

于 2009-02-13T11:21:03.263 回答
1

在回发期间没有内置方法可以检索文本框的默认值。

一种选择是使用 ViewState 在初始 PageLoad 期间存储该值,并在回发期间从那里检索它以进行比较。

于 2009-02-13T11:23:08.767 回答
1

您可以检查的唯一属性是 Text 属性。如果您需要比较原始值,那么最好将其存储为隐藏字段或会话变量。然后,您可以对照 textbox.Text 属性中的任何内容进行检查。

于 2009-02-13T11:23:38.297 回答
1

将原始值放在隐藏字段或视图状态中。

于 2009-02-13T11:24:35.207 回答
1

TextBox 类仅支持 .Text 属性,因此您的“默认”值必须在首次呈现页面之前存储在某处,以便您可以在页面回发时检查文本框的 .text 属性。这个“默认”值可以存储在 cookie 中(如果足够小)、页面的 ViewState、页面上的隐藏表单字段,甚至是应用程序或会话状态。

于 2009-02-13T11:29:49.343 回答
0

TextBox 没有 DefaultText 属性,所以我很困惑。您如何设置默认文本值?如果您只是在代码中设置它,即

<asp:TextBox ...>Default Value</asp:TextBox>

然后它将是 .Text 属性的值。

于 2009-02-13T11:28:47.410 回答