在对我的项目进行了一些升级之后,突然我生成的“_createoredit.cshtml”文件被这样炸毁了:
传入字典的模型项为空,但此字典需要“System.Int32”类型的非空模型项。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidOperationException:传入字典的模型项为空,但此字典需要“System.Int32”类型的非空模型项。
源错误:
Line 273:</div>
Line 274:<div class="editor-field">
Line 275:@Html.EditorFor(model => model.NumOfStores)
Line 276:@Html.ValidationMessageFor(model => model.NumOfStores)
Line 277:</div>
它引用的字段是可为空的 int 类型。这只是以前的工作(生产版本仍然运行良好),我对项目所做的更改不应该触及它使用的任何东西,所以现在我无法弄清楚为什么这会爆炸。
更新 1-从模型中添加字段 def
[DisplayName("Number of Stores (if applicable)")]
public Nullable<int> NumOfStores { get; set; }
此外,我已经验证所有可为空的值类型都存在同样的问题。