You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core中使用Input Tag Helper出现‘An expression tree may not contain a dynamic operation’错误求助

ASP.NET Core中使用Input Tag Helper出现‘An expression tree may not contain a dynamic operation’错误求助

嘿,我来帮你搞定这个报错问题~

这个错误的核心原因很明确:你的视图没有绑定强类型模型,导致@Model变成了动态(dynamic)类型,而Input Tag Helper的asp-for属性需要基于强类型的表达式树来生成对应的表单字段名、ID等信息,动态类型没法生成合法的表达式树,所以就抛出这个错误了。

给你几个具体的解决步骤:

  • 第一步,确认你的Person模型是强类型的实体类,比如类似这样的定义:
public class Person
{
    public string Firstname { get; set; }
    // 这里可以添加其他需要的属性,比如Lastname、Age等
}
  • 第二步,在你的视图文件顶部,添加强类型模型的声明(替换掉原来可能缺失的@model指令):
@model 你的命名空间.Person

记得把“你的命名空间”换成Person类实际所在的命名空间哦,比如如果Person类在YourProject.Models下,就写@model YourProject.Models.Person。

  • 第三步,优化你的input标签:你手动写的value="@Model.Firstname"其实可以删掉,因为Input Tag Helper会自动根据asp-for绑定的模型属性值填充输入框内容,手动写value反而可能和Tag Helper的自动绑定冲突。修改后的input标签应该是:
<input class="form-control" asp-for="Firstname" />

做完这些操作后,重新编译运行项目,这个“表达式树不能包含动态操作”的错误应该就消失啦~

备注:内容来源于stack exchange,提问作者Elvis aldo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 09:38:15