- - PR -
HtmlInputHiddenを動的に生成
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-20 21:29
asp.net 2.0
VS 2005 いつも参考にさせていただいております。 現在、Webアプリを作成中なのですが、HtmlInputHiddenを動的に作成した場合の Valueの取得方法でつまづいております。 まず、ループの中で動的にHtmlInputHiddenを生成しているのですが、 ---------------------------------------------------------- HtmlInputHidden hih = new HtmlInputHidden(); hih.Attributes.Add("id", strId); hih.Attributes.Add("name", strId); hih.Attributes.Add("value", strValue); ---------------------------------------------------------- 生成されたHTMLのname属性には、設定したはずのない値が入ってしまいます。 --------------------------------------------------------------------------- <input name="ctl00$ctl04" type="hidden" id="001" value="238" /> ↑ここ! --------------------------------------------------------------------------- 最終的に、Request["nameの値"] でValue値を取得したいのです。 HtmlInputHiddenを使用するのは初めてなのですが(いつもは手でHiddenを書いております。)、Hiddenを動的に作成したいので使用しました。 このような使用方法がありなのかも含めて、 どなたかアドバイスいただけますでしょうか? 宜しくお願いいたします。 | ||||
|
投稿日時: 2007-02-20 22:18
HtmlInputHidden は Name を外部から指定することはできません。
名前と値を指定した hidden を作成したいならば、CrientScriptManager.RegisterHiddenField を使用してください。 サーバーコントロールにはなりませんが、Request プロパティから取得することを想定されているようなので、こちらで十分だと思います。 [ メッセージ編集済み 編集者: THREE-ONE 編集日時 2007-02-20 22:19 ] | ||||
|
投稿日時: 2007-02-21 00:39
マスタページやWebユーザーコントロールを使ってないなら、これでもいけそう。
| ||||
|
投稿日時: 2007-02-21 13:09
THREE-ONEさん、ぼのぼのさん、ありがとうございます!
RegisterHiddenField ですっかり解決できました。 2.0から追加されたものなんですね。 勉強不足でした。 本当に(いつも、いつも)ありがとうございました。 | ||||
|
投稿日時: 2007-02-21 13:22
あれれ? RegisterHiddenField 自体は 1.0 から存在していると思いま すよ(私も使っていましたし)。 と思って調べてみたところ の2種類あるみたいですね。そして Page.RegisterHiddenField は互換 性のために残されていると。 そういうことのようです。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||
|
投稿日時: 2007-02-21 14:17
ぽぴ王子さん、ご指摘ありがとうございます!
コンパイルすると、思いっきり古い形式ですとなってました・・・。 CrientScriptManager.RegisterHiddenField でスッキリ。 どのみち勉強不足には変わりなく・・・。 頑張ります・・・。 | ||||
|
投稿日時: 2007-02-21 16:06
引き続きで申し訳ないのですが・・・
Hidden以外のHTMLフィールドも動的に生成し、 Requestより値を取得したいのですが、 RegisterHiddenFieldのようなメソッドはあるのでしょうか? 現在検索中ですが、見つかりません。 又は、サーバー側でname属性ではなくid属性からvalue値を取得できると いいのですが。 またも基本的質問でお恥ずかしいのですが、 ぜひアドバイスお願いいたします。 | ||||
|
投稿日時: 2007-02-21 23:36
こういう場合はスレッド分けたほうがいいのかな?
具体的には何でしょうか? さすがに全てに対してお手軽メソッドがあるわけではありません。 汎用的に行うならば Literal コントロールを Add していくか、HtmlGenericControl を Add していくことになるかと思います。 |