2012-06-21 3 views
0

У меня есть таблица с тремя столбцами. В третьем столбце имеется список радиообмена, который пользователь использует для оценки сходства столбцов 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+ перезарядки ...

Любые подсказки?

+0

Я думаю, что вы должны создать 'RadioButtonList' каждый раз, когда страница постбэк , – OammieR

ответ

0

вместо:

this.Session [ "ОЦЕН1"] = ОЦЕН1;

использовать строковый массив для хранения значений в сеансе.

+0

В то время, когда этот код работает, у меня нет значений. В противном случае я мог бы использовать приведенный выше код. – Jan

0

Этот код находится где? Может быть, вы должны положить его в случае (! IsPostBack) {} try.For пример

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; 

} 
+0

Он находится в Page_Load. Я хочу прочитать значения в «следующей» Page_Load, где isPostBack - это правда. – Jan

+0

@Jan Вы должны поместить код в Page_Load if (! IsPostBack) {}, иначе значение будет отображаться в viewstate. так что вы не найдете никакой ценности. – Myd

+0

Я пробовал это - не изменилось. – Jan