Динамически генерировать несколько RadioButtonList и захватывать их значения - PullRequest
2 голосов
/ 12 октября 2010

У меня есть ситуация, когда мне нужно сгенерировать несколько наборов переключателей.Эти переключатели отображают данные об отношениях Один-ко-многим.

Я знаю, как заставить его работать с обходным путем, который я использовал в классические дни ASP ..., в котором я, по сути, просто динамически выплевываю HTML и сохраняюотслеживать мои элементы управления, используя систематические идентификаторы.Это не более, чем первичный ключ, добавленный к строковой константе, т.е. String.Format("Dynamic_{0}", myChildRecordPKValue), поэтому мой HTML выглядит следующим образом:

<!--First Group-->
<h1>Parent Record 1</h1>
<input id="Child_998" name="group_1" onclick="javascript:getValue(this)"/>First
<input id="Child_999" name="group_1" onclick="javascript:getValue(this)"/>Second
<input id="Child_1000" name="group_1" onclick="javascript:getValue(this)"/>Third

<!--Second Group-->
<h1>Parent Record 2</h1>
<input id="Child_4598" name="group_2" onclick="javascript:getValue(this)"/>First
<input id="Child_7632" name="group_2" onclick="javascript:getValue(this)"/>Second
<input id="Child_92" name="group_2" onclick="javascript:getValue(this)"/>Third

<!--Second Group-->
<h1>Parent Record 3</h1>
<input id="Child_556" name="group_3" onclick="javascript:getValue(this)"/>First
<input id="Child_786" name="group_3" onclick="javascript:getValue(this)"/>Second
<input id="Child_110" name="group_3" onclick="javascript:getValue(this)"/>Third

Обратите внимание, что я использую функцию javascript, которая обновляет скрытое поле с выбранным значением(Каждая родительская запись имеет соответствующее скрытое поле).Поэтому после выбора пользователь нажимает кнопку отправки, и я получаю свои значения, используя Request.Form [myHiddenField1] и так далее ...

Итак, мой вопрос ... есть ли лучший "ASP.NET"способ решения этой проблемы?

1 Ответ

0 голосов
/ 12 октября 2010

Я бы посмотрел на создание составного серверного элемента управления.

http://msdn.microsoft.com/en-us/library/3257x3ea(v=VS.90).aspx

...