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

本文关键字:包含 动态 操作 表达式 例外 | 更新日期: 2023-09-27 18:32:03

我在这里发现了一个类似的问题:Razor 视图引擎:表达式树可能不包含动态操作

但是我已经尝试了解决方案,但它们并不能解决我的问题。我有一个控制器,具有以下功能:

    public ActionResult CreateOrganization(Guid parentOrganizationId)
    {
        Organization organization = new Organization();
        return View(organization);
    }

视图具有以下内容:

@using Project.Data
@Model Project.Data.Organization
@{
    ViewBag.Title = "Create new Organization";
}
<hgroup class="title">
    <h1>@ViewBag.Title.</h1>
    <h2>Use the form below to create a new Organization.</h2>
</hgroup>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
@using (Html.BeginForm((string)ViewBag.FormAction, "Organization"))
{
    <fieldset>
        <legend>Create Organization</legend>
        <ol>
            <li>
                @Html.LabelFor(m=> m.Name)
                @Html.TextBoxFor(m=> m.Name);
                @Html.ValidationMessageFor(m=> m.Name)
            </li>
        </ol>
        <input type="submit" value="Register" />
    </fieldset>
}

这是明确指定模型(如另一篇文章中所建议的)。但是,我仍然收到"表达式树可能不包含动态操作"错误。我在某个地方犯了一个愚蠢的错误吗?

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

您的观点似乎不正确。

模型

声明应为小写的"模型",而不是"模型":

@model Project.Data.Organization

修复是

@model ProjectName.Models.Modelname

模型>>是否在模型文件夹中使用模型类项目名称.MVC 模型路径

您是否在任何地方使用动态类型?

这看起来与您的问题非常相似。错误:表达式树可能不包含动态操作

您可以使用与链接(强制转换)类似的解决方法。