1

わかりましたみんな、ここに私の問題があります:

テキストボックスを使用してユーザーにデータを表示するカスタム コントロールを作成しました。

ユーザーがコントロールを操作すると、そのテキストボックスの値がクライアント側の javascript で変更されます

私のページにもボタンがあります。ユーザーがボタンをクリックすると、カスタム コントロール (別名、テキスト ボックス) から値を取得し、他の場所で使用したいと考えています。

したがって、ボタンの onClick イベントでは、次のようにします。

this.myLabel.Text = this.customControl.Value;

問題は、カスタム コントロールに使用可能な新しいテキスト ボックスの値がないことです。カスタム コントロールでは、テキスト ボックスは空です。ただし、Request.Form コレクションで正しい値を確認できます。

ここで何か間違ったことをしていますか?それとも、Request.Form から読み取る必要がありますか?!

4

3 に答える 3

2

興味深いことに、読み取り専用の TextBox がビューステートから更新されないことに気づきませんでした。

Web サイトでそのようなスタントをプルするときは、通常、javascript (jQuery が大好き) でデータをダンプする asp:HiddenFields をセットアップし、ポストバックで値を読み取ります。

私が見つけたものをよりきれいに保ちます。

于 2008-11-11T22:56:45.997 に答える
1

あはは!私は自分の問題を解決しました!

テキスト ボックス コントロールに Readonly="True" を設定したため、ASP.NET はポストバックから値を取得していませんでした。

代わりに、ユーザー コントロールの構築中にテキスト ボックスに readonly 属性を手動で追加する必要がありました。

例えば。

this.textBox.Attributes.Add("readonly", "readonly");
于 2008-11-06T11:02:11.883 に答える
0

あなたが自分で答えたのは奇妙です!実際、私は以前にこの厄介な問題に直面したことがあり、Visual Studio のドキュメントで原因を説明するメモを見つけるまでに時間がかかりました。 /system.web.ui.webcontrols.textbox.readonly.aspxの「重要な注意事項」セクション。

于 2009-05-17T15:12:08.140 に答える