3

私は MSDN をスパイしてきましたが、フィールドに設定されたデフォルトのテキスト値を取得できる TextBox のプロパティ/メソッドが表示されません。現在の txtMyTextBox.Text をデフォルト値と比較できるようにしたい (この疑似コードが示すように):

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

これは ASP.NET コントロールに存在するものですか? それとも私が求めすぎですか?:)

助けてくれてありがとう(いつものように)!

ピート

4

7 に答える 7

3

DefaultText とは、編集前の最初のテキストのことですか?

おそらく、これを定数/フィールド/などのどこかで宣言し、マークアップではなくプログラムで設定します-つまり、最初のロードでtxtMyTextBox.Text = defaultText;-その後、defaultText変更を追跡するために再度比較できます。

于 2009-02-13T11:21:36.057 に答える
2

テキストボックス (またはその他のコントロール) には "DefaultText" プロパティはありません。おそらく定数文字列を介してデフォルトを定義したので、Text プロパティをその定数文字列と比較してください。

于 2009-02-13T11:21:03.263 に答える
1

ポストバック中にテキストボックスのデフォルト値を取得する組み込みの方法はありません。

1 つのオプションは、ViewState を使用して最初の PageLoad 中に値を格納し、ポストバック中にそこから取得して比較を行うことです。

于 2009-02-13T11:23:08.767 に答える
1

確認できる唯一のプロパティは Text プロパティです。元の値を比較する必要がある場合は、非表示フィールドまたはセッション変数として保存することをお勧めします。次に、これを textbox.Text プロパティ内の何かに対してチェックできます。

于 2009-02-13T11:23:38.297 に答える
1

TextBox クラスは .Text プロパティのみをサポートするため、ページがポストバックされたときにテキストボックスの .text プロパティを確認できるように、最初にページをレンダリングする前に「デフォルト」値をどこかに保存する必要があります。この「デフォルト」値は、Cookie (十分に小さい場合)、ページの ViewState、ページの非表示のフォーム フィールド、さらにはアプリケーションまたはセッション状態に格納できます。

于 2009-02-13T11:29:49.343 に答える
1

元の値を隠しフィールドまたはビューステートに入れます。

于 2009-02-13T11:24:35.207 に答える
0

TextBox には DefaultText プロパティがないため、混乱しています。デフォルトのテキスト値をどのように設定していますか? コードで設定するだけの場合、つまり

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

次に、.Text プロパティの値になります。

于 2009-02-13T11:28:47.410 に答える