小编JBi*_*bbs的帖子

具有键'MY KEY'的ViewData项的类型为'System.String',但必须是'IEnumerable <SelectListItem>类型的'

我试图使用ASP.NET MVC 2从使用Linq-2-SQL映射的数据库填充下拉列表,并继续收到此错误.

我很困惑,因为我IEnumerable<SelectListItem>在第二行声明了一个类型的变量,但错误让我觉得情况并非如此.我觉得这应该很简单,但我很挣扎.任何帮助表示赞赏.

以下是我的控制器的有趣内容:

public ActionResult Create()
{
    var db = new DB();
    IEnumerable<SelectListItem> basetypes = db.Basetypes.Select(
        b => new SelectListItem { Value = b.basetype, Text = b.basetype });
    ViewData["basetype"] = basetypes;
    return View();
}
Run Code Online (Sandbox Code Playgroud)

以下是我观点的有趣内容:

<div class="editor-label">
   <%: Html.LabelFor(model => model.basetype) %>
</div>
<div class="editor-field">
   <%: Html.DropDownList("basetype") %>
   <%: Html.ValidationMessageFor(model => model.basetype) %>
</div>
Run Code Online (Sandbox Code Playgroud)

这是提交表单时的POST操作

// POST: /Meals/Create
[HttpPost]
public ActionResult Create(Meal meal)
{
    if (ModelState.IsValid)
    {
        try
        {
            // TODO: Add insert logic here
            var …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

141
推荐指数
2
解决办法
9万
查看次数

标签 统计

asp.net-mvc ×1