我一直在暗中监视的MSDN并不能看到属性/方法,文本框,让您得到这是一个字段设置默认的文本值;我希望能够以比较当前txtMyTextBox.Text为缺省值(这样的伪代码示出):

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

这是不是它存在于ASP.NET控件?还是我要求太多了? :)

感谢所有帮助(总是)!

皮特

有帮助吗?

解决方案

没有内置在回发期间检索一个文本框的默认值的方式。

一种选择是在初始pageLoad的过程中使用的ViewState存储该值,并从那里检索它的回发期间,使比较。

其他提示

通过DefaultText你的意思编辑前的初始文本?

也许在一个恒定/场宣布这一/等地方,以及编程设置,而不是在标记 - 即在第一负载,txtMyTextBox.Text = defaultText; - 再后来你可以再比较defaultText跟踪更改

有是上的文本框(或任何其它控制)没有“DefaultText”属性。 您可能已经通过定义一个常量字符串默认值,所以只是Text属性比较是常量字符串。

您可以检查的唯一属性是Text属性。如果你需要比较原始值,那么你将是最好的保存,作为可能是隐藏字段或会话变量。然后,您可以检查这对在textbox.Text财产东西。

把原始值在一个隐藏字段或在视图状态。

在TextBox类仅支持。文本属性,让你的“默认”值将在某个地方预先存储的第一渲染页面,这样当页面发布,你可以查看文本框的的.text属性。这个“默认”值可以(如果有足够小的)存储在cookie中,在页面的视图状态,在一个隐藏的表单字段的页面上,或者甚至在应用程序或会话状态。

文本框不具有DefaultText属性,所以我很困惑。你是如何设置默认文本值?如果你只是将它设置在代码即。

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

然后它将是。文本属性的值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top