Как я могу связать список радио с динамическим связыванием?

Я хочу связать список элементов управления в моем контроллере.

У меня нет проблем с текстовым полем, флажком или раскрывающимся списком.

Например,

@Html.TextBox("tblContactPhones[0].description")
@Html.DropDownList("tblContactPhones[0].phoneLable", PhoneType)
@Html.TextBox("tblContactPhones[1].description")
@Html.DropDownList("tblContactPhones[1].phoneLable", PhoneType)

Они имеют одинаковые имена, которые динамически связываются в моем контроллере.

public virtual ActionResult Create(tblContact entity)

как вы видите эти имена не совпадают

но я не могу сделать это для радиогруппы.

они должны иметь одинаковые имена для правильного выбора.

и я не могу связать это в списке.

есть идеи?

1 ответ

Вам не нужно беспокоиться об именах.

В качестве основных перегрузок @Html.RadioButton() Помощником являются следующие:

@Html.RadioButton(string name, object value)
@Html.RadioButton(string name, object value, bool isChecked)

Так:

1) если вы хотите 2 rdoBtns как истинный / ложный способ:

@Html.RadioButton("IsSomething", true)
@Html.RadioButton("isSomething", false)

2) Если у вас есть коллекция значений - например, перечисление:

@Html.RadioButton("FavoriteItem", MyEnum.Item1)
@Html.RadioButton("FavoriteItem", MyEnum.Item2)
@Html.RadioButton("FavoriteItem", MyEnum.Item3)
@Html.RadioButton("FavoriteItem", MyEnum.Item4)

Обратите внимание, что вы можете передать true значение в качестве 3-го параметра для помощника, чтобы указать, что элемент должен быть проверен по умолчанию:

// This rdo is selected by default
@Html.RadioButton("FavoriteItem", MyEnum.Item1, true) 
@Html.RadioButton("FavoriteItem", MyEnum.Item2)
// other rdoBtns ...
Другие вопросы по тегам