ASP.NET Core MVC视图找不到CalculationMethod类型或命名空间如何解决?
错误原因及修复方案
1. 枚举类型引用路径错误
你将CalculationMethod枚举定义为了CalcModel类的嵌套类型,不能直接通过枚举名访问,必须带上外层类的限定:
- 视图中报错的代码行需要修改为:
@Html.DropDownListFor(m => m.calculationMethod, Html.GetEnumSelectList(typeof(CalcModel.CalculationMethod)))
也可以使用更简洁的泛型写法:
@Html.DropDownListFor(m => m.calculationMethod, Html.GetEnumSelectList<CalcModel.CalculationMethod>())
- 同时你的
CalcController中分支判断也存在相同问题,需要修改为:
case CalcModel.CalculationMethod.Addition:
2. 视图表单提交路径错误
Html.BeginForm方法的第二个参数是控制器名称,你错误传入了模型类名CalcModel,需要修改为控制器前缀Calc:
@using (Html.BeginForm("IndexCalculator", "Calc", FormMethod.Post, new { enctype = "multipart/form-data" }))
3. 视图命名空间补充
如果修改后仍然找不到CalcModel类型,需要在视图顶部补充模型声明和对应命名空间引用:
@using 你的项目实际命名空间.Models @model CalcModel
内容的提问来源于stack exchange,提问作者WarmingZ
相关产品推荐
相关产品推荐

