Kendo UI页面无法绑定Model触发空引用异常,寻求解决方案
Kendo UI页面强类型Model绑定失败,触发NullReferenceException
问题根源
你的Razor页面顶部添加了@page指令,这是Razor Pages专属标记,但你的代码架构是ASP.NET MVC的Controller+View模式,两者不兼容。一旦页面包含@page,系统会将其识别为独立的Razor Page,不再接收Controller传递的Model实例,导致Model始终为null,触发空引用异常。
解决方案
- 移除
@page指令:删除Razor页面最顶部的@page行 - 确认视图路径正确:MVC视图默认存放路径为
Views/[控制器名]/Index.cshtml(比如你的控制器是MyController,视图应放在Views/MyController/Index.cshtml),或共享视图目录Views/Shared/Index.cshtml
修正后的Razor页面代码
@using MyNamespace.Models @model MyModel @if (Model != null && Model.Id != null && Model.Id > 0) { <p>ID: @Model.Id</p> <p>Name: @Model.Name</p> <p>Description: @Model.Description</p> } else { <p>Model ID is null</p> }
额外验证点
- 你的Controller代码中
return View(new MyModel(...))默认返回与Action同名的视图,无需修改 - 页面已正确引入Model命名空间
@using MyNamespace.Models,无需调整
内容的提问来源于stack exchange,提问作者Desichele
相关产品推荐
相关产品推荐

