Razor Pages中通过AJAX与PartialView实现页面局部更新问题
解决Razor Pages AJAX局部更新PartialView时的空指针异常
- 技术环境:.NET Core 6.0 + Razor Pages + MongoDB,已完成CRUD基础功能
- 问题场景:主页面默认基于
DateTime.Now加载列表正常,但通过月份选择器触发AJAX请求,尝试用 Partial()方法局部更新列表时,抛出空指针异常 - 问题根因:用于局部渲染的PartialView页面中意外添加了
@page指令——在Razor Pages里,带@page的文件会被识别为独立的路由页面,拥有自己的请求上下文,无法被主页面的Partial()方法正确引用,导致上下文初始化失败 - 修复方案:直接移除PartialView页面中的
@page指令,让它作为纯视图组件被调用,AJAX局部更新功能即可恢复正常
给后端转前端开发者的小提醒
Razor Pages里页面和局部视图的核心区别就是@page指令:独立页面需要路由所以必须加,而局部视图是被其他页面引用的片段,不需要路由,绝对不能加这个指令,否则会引发上下文不匹配的各种异常。
内容的提问来源于stack exchange,提问作者Guilherme Augusto De Sousa
相关产品推荐
相关产品推荐

