ASP.NET TextBox控件 - 获取代码隐藏的默认文本值?
-
23-08-2019 - |
题
我一直在暗中监视的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>
然后它将是。文本属性的值。
不隶属于 StackOverflow