Мне нужно иметь несколько групп переключателей в моей форме:
Я знаю, что это просто сделано, указав одно и то же "имя" html-атрибут для каждой группы.
ОДНАКО
MVC не позволяет указать свой собственный атрибут имени при использовании html-помощника, например:
@Html.RadioButtonFor(i => item.id, item.SelectedID, new { Name = item.OptServiceCatId })
Потому что он смотрит на каждый атрибут "name" (не "id" ) для сопоставления/привязки формы к модели, которую получает контроллер, и т.д.
Некоторые сказали, что указание каждого с тем же атрибутом "GroupName" решит проблему, но это тоже не сработало.
Итак, есть ли способ, который работает?
EDIT:
Здесь мой взгляд (упрощенный):
@model Service_Provider.ViewModels.SelectOptServicesForSubServiceViewModel
@foreach (var cat in Model.OptServices)
{
//A piece of code & html here
@foreach (var item in cat.OptItems.Where(i => i.MultiSelect == false))
{
@Html.RadioButtonFor(i => item.id, item.SelectedID, new { GroupName = item.OptServiceCatId })
<br />
}
}
Примечание:
Моя модель - List<OptServices>
:
public List<OptServices> Cats {get; set;}
И OptServices имеет List
OptItems
внутри:
public class OptServices
{
//a few things
public List<OptItems> Items {get; set;}
}