0

我收到以下错误:

表达式树可能不包含动态操作

以下是模型:

public class ProjectType
{
    public string Project { get; set; }
    public string Name { get; set; }
    public string Server { get; set; }
}

public class ProjectTypesViewModel
{
    public int SelectedId { get; set; }
    public IEnumerable<ProjectType> ProjectTypes { get; set; }
}

这是视图:

@using BankruptcyDocketGenerator.ViewModels

@{
    ViewBag.Title = "Bankruptcy Docket Generator";
}

@{
    ProjectTypesViewModel projectTypes = (ProjectTypesViewModel)ViewBag.ProjectTypes;
}

@Html.DropDownListFor(x => x.SelectedId, new SelectList(projectTypes.ProjectTypes, "Project", "Name"), "Select one...")

我究竟做错了什么?

谢谢,杰

4

1 回答 1

0

根据以下答案,您似乎需要对视图进行强类型化才能使用 lambda 表达式。由于您正在使用@Html.DropDownListFor,因此您正在使用 lambda 表达式:

Razor 视图引擎:表达式树可能不包含动态操作

解决方案:

将以下内容添加到视图顶部:

@model BankruptcyDocketGenerator.ViewModels.ProjectTypesViewModel

更新控制器以将 ViewModel 传递给视图,而不是将其设置为 ViewBag:

return View(myProjectTypesVm);
于 2013-10-09T19:13:01.297 回答