如何使用动态绑定绑定收音机列表?

时间:2013-08-25 13:08:41

标签: asp.net-mvc asp.net-mvc-4 binding radio dynamic-binding

我想绑定控制器中的控件列表。

我对文本框,复选框或下拉列表没有任何问题。

例如,

@Html.TextBox("tblContactPhones[0].description")
@Html.DropDownList("tblContactPhones[0].phoneLable", PhoneType)
@Html.TextBox("tblContactPhones[1].description")
@Html.DropDownList("tblContactPhones[1].phoneLable", PhoneType)

它们具有在我的控制器中动态绑定的相同名称。

public virtual ActionResult Create(tblContact entity)

因为你看到这些名字不一样

但我不能为一个广播组做这件事。

他们必须有相同的名称才能正确选择。

我无法将其绑定在列表中。

任何想法?

1 个答案:

答案 0 :(得分:0)

您无需担心姓名。

由于@Html.RadioButton()助手的主要重载如下:

@Html.RadioButton(string name, object value)
@Html.RadioButton(string name, object value, bool isChecked)

所以:

1)如果你想要2个rdoBtns作为真/假方式:

@Html.RadioButton("IsSomething", true)
@Html.RadioButton("isSomething", false)

2)如果你有一组值 - 例如enum:

@Html.RadioButton("FavoriteItem", MyEnum.Item1)
@Html.RadioButton("FavoriteItem", MyEnum.Item2)
@Html.RadioButton("FavoriteItem", MyEnum.Item3)
@Html.RadioButton("FavoriteItem", MyEnum.Item4)

请注意,您可以将true值作为第3个参数传递给帮助程序,以指示默认情况下应检查该项:

// This rdo is selected by default
@Html.RadioButton("FavoriteItem", MyEnum.Item1, true) 
@Html.RadioButton("FavoriteItem", MyEnum.Item2)
// other rdoBtns ...