是mvc3 DataType.MultilineText中多选框的正确数据类型?这些最终源于多对多类型的关系。
由于
实施例 频道可以有多个广告位,广告位可以有多个频道。
我目前的模特是:
[Display(Name = "Ad Slots")]
[DataType(DataType.MultilineText)]
public string[] AdSlots { get; set; }
多选是否正确?
答案 0 :(得分:0)
ASP.NET MVC不为DOM元素使用“类型”,persay。您可以使用HtmlHelper.ListBox()
扩展方法。
此扩展方法返回多选列表框。
@Html.ListBox(
"YourFormFieldName",
new SelectList(new[] { "You can select this one", "and this one" })
)
编辑:对于模型,您可以使用:
public class YourViewModel
{
public MultiSelectList YourItems { get; set; }
}
然后在POST上你可以看到选择了哪些项目。
答案 1 :(得分:0)
我认为您可以使用System.Web.Mvc.MultiSelectList
之类的内容来获取IEnuermable
个集合。
查看此文章了解更多信息: http://ittecture.wordpress.com/2009/04/30/tip-of-the-day-198-asp-net-mvc-listbox-controls/
对于你的编辑,我的答案可能不那么有用,因为你很可能不希望你的模型引用MVC,但是你可以@Html.ListBox("AdSlots", new MultiSelectList(model.AdSlots))
,因为它已经可以枚举。
答案 2 :(得分:0)
此多行类型表示textarea而不是multiselect,它具有以多选作为属性的标记。