2015-03-02 5 views
0

У меня есть несколько групп переключателей на моей странице бритвы cshtml. Мне нужно указать имя как переменную, потому что каждая группа должна иметь собственный уникальный выбор переключателя. В основном у меня есть то, что ниже, что не работает. то есть семинар, как представляется, не интерпретируется как переменная.В Asp.net MVC Razor Radiobutton, как назначить переменную для имени?

@foreach (var workshopDay in new List<string> {"Wednesday", "Thursday"}) 
     ... 
     @Html.RadioButtonFor(a => a.AngularUsignup.AttendeeParty, 
       new { @class = "radio",@name="@(workshopDay)" }) 
+1

Если вы дали каждой кнопке другое имя, это позволило бы выбрать несколько кнопок (поэтому использовать переключатели не видны). Кроме того, это вы переопределили имя, оно не будет привязываться к вашей модели на обратной стороне в любом случае. –

+0

Я держал свой пример коротким, чтобы показать свою точку зрения. В моем реальном случае есть 2 набора переключателей, каждый из которых действует как радиокнопки, а не флажки. Я понимаю разницу между переключателями и флажками, но спасибо за то, что вы указали это. –

+0

Затем вы должны указать, что вы на самом деле хотите сделать. Если у вас есть 2 набора переключателей, вам нужно 2 свойства, и если значение этих свойств должно быть «Среда» или «Четверг», то его '@ Html.RadioButtonFor (a => a.AngularUsignup.AttendeeParty, workshopDay) ' –

ответ

0

попробуйте нижеследующий.

@foreach (var workshopDay in new List<string> {"Wednesday", "Thursday"}) 
     ... 
     @Html.RadioButtonFor(a => a.AngularUsignup.AttendeeParty, 
       new { @class = "radio",@name=workshopDay.ToString() }) 

Примечание: Как Стивен упомянул в комментариях к вопросу позволит всем радио-кнопки для выбора. Вместо этого вы должны использовать флажок в таких сценариях.

0

Это одна из тех Гоча:

Чтобы изменить имя атрибута (или один из других атрибутов, что HtmlHelper добавляет для вас), вы должны использовать имя атрибута с первой буквы в верхнем регистре (так : "N AME", а не "п AME"):

@Html.RadioButtonFor(a => a.SomeProperty, new { Name="yourValuehere" }) 

Так что, я думаю, что ваш пример идет в:

@Html.RadioButtonFor(a => a.AngularUsignup.AttendeeParty, 
      new { @class = "radio",@Name="@(workshopDay)" }) 

HTH

Смежные вопросы