データベースから一部のデータをプルバックし、各行に関連する値のラジオボタンリストを作成するリピーターコントロールがあります。何行戻ってくるかわからないので、ラジオボタンリストがいくつあるかわかりません。このリピーターはフォーム内にあり、フォームで[送信]をクリックしたら、リピーターによって生成されたラジオボタンから値を取得する必要があります。
これを行う方法について何か考えはありますか?
いくつかのオプションがあります。
1つは、ネストされたリピーターを使用してラジオボタンを表示することです。
もう1つは、元のリピーターの間にコントロールを作成することです。Repeater.ItemDataBoundイベント。
いずれの場合も、ページのライフサイクルを十分に理解する必要があります。
if(!Page.IsPostback)
データバインディングがブロックで行われている場合を除き、Page_Loadイベントでのデータバインディングは避けたいと思うでしょう。ポストバックのチェックに失敗すると、Page_LoadがDataBind()呼び出しを呼び出し、イベントハンドラーが使用する前にリピーターの値をワイプするという問題が発生します。
または、ビューステートを適用する前に発生するPage_Initでバインディングを実行して、値が失われないようにすることもできます。
RadioButtonにUSerコントロールを使用することもできます。リピーター内でnexstedユーザーコントロールを使用する方法をカバーする以前の投稿がここにあります。