在Asp.net MVC Razor Radiobutton中,如何将变量赋给名称?

时间:2015-03-02 05:37:10

标签: asp.net-mvc razor

我的razor cshtml页面上有多个单选按钮组。我需要将名称指定为变量,因为每个组都需要拥有自己独特的单选按钮选项。基本上我有下面的东西是行不通的。也就是说,workshopDay似乎没有被解释为变量。

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

2 个答案:

答案 0 :(得分:0)

尝试以下。

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

注意:正如斯蒂芬在评论中提到的那样,它将允许选择所有单选按钮。相反,你应该在这种情况下使用复选框。

答案 1 :(得分:0)

这是其中一个问题:

要覆盖name属性(或HtmlHelper为您添加的其他属性之一),您需要使用带有首字母大写字母的属性名称(所以:“ N ame”而不是“ n ame”):

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

所以,我认为你的例子是:

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

HTH