0

3列のテーブルがあります。3番目の列には、ユーザーが列1と2の類似性を評価するために使用するラジオボタンリストがあります。テーブルには60以上の行があり、動的に作成されます。そのすべてが魅力のように機能します。しかし:送信後にラジオボタンリスト(またはユーザーが選択した値)を読み取るにはどうすればよいですか?私は以下を試しましたが、それはうまくいきません(もちろんすべてが形になっています):

eval1 = new RadioButtonList();
eval1.Items.Add(new ListItem("Agree","1"));
eval1.Items.Add(new ListItem("Somewhat Agree","2"));
eval1.Items.Add(new ListItem("Disagree","3"));
eval1.Attributes.Add("runat", "server");
this.Session["eval1"] = eval1;

これを送信すると、セッション変数はradionbuttonlistを保持しますが、値が選択されていません。

AutoPostBackをtrueに設定しようとしましたが、動作が必要なものに変わりました。しかし、ユーザーがオプションを選択するたびにページをリロードしたくありません。これは60回以上のリロードを意味します...

ヒントはありますか?

4

2 に答える 2

0

代わりに:

this.Session ["eval1"] = eval1;

文字列配列を使用して、セッションに値を格納します。

于 2012-06-21T03:20:41.747 に答える
0

このコードはどこに置いてあるの? if (! IsPostBack ) {} try の中に入れたほうがいいかも。

if(!IsPostBack)
{
      eval1 = new RadioButtonList();
      eval1.Items.Add(new ListItem("Agree","1"));
      eval1.Items.Add(new ListItem("Somewhat Agree","2"));
      eval1.Items.Add(new ListItem("Disagree","3"));
      eval1.Attributes.Add("runat", "server");
      this.Session["eval1"] = eval1;

}
于 2012-06-21T04:07:44.773 に答える