Я разрабатываю приложение asp.net.динамически использовать радиокнопки в приложениях asp.net
Когда пользователь нажимает на страницу, некоторые переключатели динамически добавляются на страницу.
Затем, когда он нажимает на другую кнопку «Обновить», я должен был бы проверить, какие из переключателей отмечены, и отправить их обратно на сервер.
Проблема заключается в следующем:
добавить динамически радиокнопок в методе page_load.
Но когда я нахожусь на кнопке onclick кнопки обновления, я не могу использовать их, чтобы проверить, не проверены ли они.
Я пробовал несколько методов, таких как использование статического словаря для радиообмена, но я не могу хранить ссылку на них, когда я нахожусь на моем методе обновления.
Это мой метод, когда страница загрузки:
private static Dictionary<string,RadioButton> buttons;
protected void Page_Load(object sender, EventArgs e)
{
for (int i=0;i<5;i++)
{
RadioButton r = new RadioButton();
r.Text = i.ToString();
r.ID = i.ToString();;
Panel1.Controls.Add(r);
buttons.Add(i.ToString(), r);
}
}
И это мой метод, когда пользователь нажимает на кнопку обновления, где я хотел бы получить доступ к каждому из моих радиокнопки в зависимости их идентификатору или их текст, но я не могу: Например, если я хочу, чтобы все кнопки от 1 до 3, чтобы проверить:
protected void Button1_Click(object sender, EventArgs e)
{
for (int i=1;i<4;i++)
{
buttons[i].checked=true;
}
}
Не используйте статический словарь, поскольку веб-приложение предназначено для одновременного использования несколькими пользователями. Если вы хотите вернуть свои кнопки после обратной передачи, вам необходимо выполнить контрольную коллекцию панели Panel1.Controls. –
ok, но с этим я получаю только элемент управления, у меня нет доступа к свойству «checked». Кроме того, какой метод мне нужно заключить в (! If postback), page_load или также в button1_click? – user2443476