MVC从控制器传递列表到viewBag

时间:2014-01-12 07:17:15

标签: asp.net-mvc entity-framework

我使用示例代码来了解viewbag。 这是一堆代码

控制器中的

 List<SelectListItem> dropdownItems = new List<SelectListItem>();
        dropdownItems.AddRange(new[]{
                        new SelectListItem() { Text = "Option One", Value = "1" },
                        new SelectListItem() { Text = "Option Two", Value = "2" },
                        new SelectListItem() { Text = "Option Three", Value = "3" }});
        ViewBag.dropdownItems = dropdownItems;
        return View();

在视图中:

@Html.DropDownList("Types", ViewBag.dropdownItems as List<SelectListItem>)
@Html.ValidationMessageFor(model => model.Types)

示例使用ViewData,我在这里使用viewbag进行练习..

@Html.DropDownList("Types", ViewBag.dropdownItems as List<SelectListItem>)用于下拉部分..但@Html.ValidationMessageFor(model => model.Types)在这里使用了什么.. ??

我删除@Html.ValidationMessageFor(model => model.Types),结果保持不变。我的问题是它的实际影响是什么,为什么要使用它???

1 个答案:

答案 0 :(得分:1)

完全没有关系。

在MVC中构建模型时,可以向其添加元数据符号,如

[Required]
string Name {get; set;}

现在在视图中,添加

@Html.ValidationMessageFor(model => model.Name)

在此处,验证消息将显示名称text-input是否未填充。