2009-02-13 95 views
3

我一直在間諜MSDN,並看不到TextBox的屬性/方法,它允許您獲取在字段上設置的默認文本值;我希望能夠比較當前txtMyTextBox.Text爲默認值(類似這樣的僞代碼顯示):ASP.NET TextBox控件 - 獲取代碼後面的默認文本值?

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

這是不是它存在於ASP.NET控件?還是我問太多? :)

感謝您的幫助(一如既往)!

皮特

回答

1

在回發期間沒有內置的方式來檢索文本框的默認值。

一個選擇是使用ViewState在初始PageLoad期間存儲該值,並在回發過程中從中檢索該值以進行比較。

+0

我有一種可怕的感覺,不會有這樣的屬性,恥辱,我認爲它會很好! – peteski 2009-02-13 11:25:51

2

上有一個文本框(或任何其它控制)沒有「DefaultText」屬性。 您可能已經通過常量字符串定義了默認值,因此只需將Text屬性與該常量字符串進行比較即可。

3

By DefaultText你是指編輯前的初始文本?

也許在某個地方將其聲明爲一個常量/字段/等,並將其設置爲編程方式而不是標記 - 即在第一個加載中,然後稍後再次與defaultText進行比較以跟蹤更改。

+0

嗨,馬克,是啊!我的意思是設置的值: peteski 2009-02-13 11:26:57

+0

所以也許把「我的默認文本」放在一個常量中代碼隱藏(「幹」),並從那裏工作... – 2009-02-13 11:31:16

1

您可以檢查的唯一屬性是Text屬性。如果您需要比較原始值,則最好將其存儲爲隱藏字段或會話變量。然後,您可以檢查textbox.Text屬性中的任何內容。

1

將原始值放在隱藏字段或視圖狀態中。

0

TextBox沒有DefaultText屬性,所以我很困惑。你如何設置默認文本值?如果您只是將其設置在代碼中,即

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

然後它將是.Text屬性的值。

1

TextBox類僅支持.Text屬性,所以您的「默認」值將必須存儲在第一次呈現頁面之前的某個位置,以便您可以在頁面回發時檢查文本框的.text屬性。這個「默認」值可以存儲在cookie中(如果足夠小),頁面的ViewState,頁面上的隱藏表單字段,甚至應用程序或會話狀態中。

相關問題