намери ASP.NET динамично създадена избрана стойност на радиобутон с помощта на javascript

Използвам VS2010,C#, за да разработя моето уеб приложение ASP.NET, създавам страница за гласуване за моите потребители, получавам някои въпроси от моята БД, всеки въпрос се показва в динамично създаден ред, също така има 5 опции (много добро, добро, лошо....), потребителят трябва да избере едно. Използвам следния код, за да създам радио бутон за всеки избор, разбира се, всичките пет радио бутона в един ред имат уникално име на група:

                tr = new TableRow();
            tr.HorizontalAlign = HorizontalAlign.Right;


            tc = new TableCell();
            tc.HorizontalAlign = HorizontalAlign.Center;
            RadioButton r = new RadioButton();
            r.Text = "";
            r.GroupName = i.ToString();
            tc.Controls.Add(r);
            tr.Cells.Add(tc);


            tc = new TableCell();
            tc.HorizontalAlign = HorizontalAlign.Center;
            r = new RadioButton();
            r.Text = "";
            r.GroupName = i.ToString();
            tc.Controls.Add(r);
            tr.Cells.Add(tc);

// five radio buttons are created in each row

сега ще намеря потребителски избор, мисля, че най-добрият подход е да използвам функция на JavaScript, за да намеря избрана стойност за всеки въпрос, след което да извърша изчисленията, как мога да го направя? Не искам да използвам AutoPostback за радио бутони, тъй като може да е много бавно,

Благодаря


person Ali_dotNet    schedule 06.01.2012    source източник


Отговори (1)


Просто добавете бутон за изпращане. В манипулатора на събитие за изпращане използвайте c#, за да прегледате контролите и да получите избраните стойности. Нямате нужда от JavaScript за това.

Актуализация

По принцип ще трябва да присвоите някои подобни имена на вашите динамично генерирани контроли. Т.Е. Question1Radio1, Question1Radio2 и т.н.

След това можете да използвате метода Request.Form, за да извлечете стойностите от бутоните за избор, като извикате Request.Form("Question1Radio1"), Request.Form("Question1Radio2") и т.н. във вашия манипулатор на изпращане.

person evasilchenko    schedule 06.01.2012
comment
благодаря, но тъй като моите радио бутони се създават динамично, те ще загубят стойността си при връщане на публикацията - person Ali_dotNet; 06.01.2012
comment
@Ali има начини да се заобиколи това. - person RickNZ; 06.01.2012
comment
свърши работа, разбира се, не знаех за тази страхотна функция! Ще го използвам повече в бъдеще, благодаря - person Ali_dotNet; 06.01.2012