MVC RadioButtonFor组

时间:2012-12-04 12:21:07

标签: c# asp.net-mvc razor radiobuttonfor

我有一个PDF类

public class UIClonePDFDetail
    {
        public int CatalogueID { get; set; }

        public List<PDF> PDFToClone { get; set; }

    }

pdf类是:

public class PDF
    {
        public int ID{ get; set; }

        public bool Selected{ get; set; }

    }

我正在尝试创建一个radiobuttons列表供用户选择1,这将在PDFToClone列表中的PDF元素上设置所选属性。

Html.RadioButtonFor(model => Model.UIClonePDFDetail[Model.UIClonePDFDetail.IndexOf(stageSelection)].Selected, "stageSelection")

但是这允许多个选择单选按钮。我可以看到为什么会发生这种情况,因为Html标签的名称元素是不同的。有没有办法强迫他们进入同一个家庭?

3 个答案:

答案 0 :(得分:8)

RadioButtonFor包含一个接受HTML属性的重载。您可以创建一个匿名类型并包含Name属性,如下所示:

Html.RadioButtonFor(model => Model.UIClonePDFDetail[Model.UIClonePDFDetail
          .IndexOfstageSelection)].Selected, "stageSelection", new { Name = "grp" })

答案 1 :(得分:0)

请尝试使用:

Html.RadioButtonFor(model => 
    Model.UIClonePDFDetail[Model.UIClonePDFDetail.IndexOf(stageSelection)].Selected,
    "stageSelection")

而不是:

Html.CheckBoxFor(model => 
    Model.UIClonePDFDetail[Model.UIClonePDFDetail.IndexOf(stageSelection)].Selected, 
   "stageSelection")

答案 2 :(得分:0)

您可以尝试使用radiobutton的组传递htmlAttributes,例如:

@Html.RadioButtonFor(model => Model.UIClonePDFDetail[Model.UIClonePDFDetail
      .IndexOfstageSelection)].Selected, "stageSelection", new { Group = "A" })