2015-03-02 145 views
0

我在我的剃刀cshtml頁面上有多個單選按鈕組。我需要指定名稱作爲變量,因爲每個組都需要擁有自己獨特的單選按鈕選項。基本上我有什麼是不起作用的。也就是說,workshopDay似乎不被解釋爲一個變量。在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

如果您給每個按鈕一個不同的名稱,它將允許選擇多個按鈕(所以使用單選按鈕看不到適當的)。此外,它確實重寫了名稱,無論如何它都不會綁定到您的模型。 – 2015-03-02 05:40:49

+0

爲了表達我的觀點,我簡短地舉了一個例子。我的真實案例有兩組單選按鈕,每組單選按鈕而不是複選框。我明白單選按鈕和複選框之間的區別,但感謝您指出它。 – 2015-03-03 17:26:33

+0

然後你應該指出你真正想做的事情。如果你有兩組單選按鈕,你需要2個屬性,如果這些屬性的值應該是「星期三」或「星期四」,那麼它的@ Html.RadioButtonFor(a => a.AngularUsignup.AttendeeParty,workshopDay) ' – 2015-03-03 20:59:42

回答

0

請嘗試以下。

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

注意:斯蒂芬在評論中提及懷疑它將使所有單選按鈕來進行選擇。相反,您應該在這種情況下使用複選框。

0

這是那些疑難雜症的之一:

要覆蓋的name屬性(或其它屬性之一的的HtmlHelper爲你增加了),你需要使用的屬性名稱的第一個字母大寫的(所以: 「ñ詩情」,而不是 「ñ AME」):

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

所以,我覺得你的例子去:

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

HTH

相關問題