MVC页面图片加载异常:Print.cshtml无法显示tec.png排查
MVC页面图片加载异常问题排查
在MVC项目中出现图片加载异常:Print.cshtml页面无法显示tec.png图片,但代码完全一致的PrintBos.cshtml页面却能正常显示该图片。
相关文件结构截图:

Print.cshtml代码:
<th> <img style=" width:60%; "src="..\img\tec.png"> </th>
PrintBos.cshtml代码:
<th> <img style=" width:60%; "src="..\img\tec.png"> </th>
补充说明:仅默认页面能显示图片,使用~路径无效,图片文件未加密。
可能的原因分析:
- 路由层级差异:两个页面的访问路由层级不同,相对路径
..\img\tec.png的解析基准不一致。比如Print.cshtml的访问路由更深,导致相对路径指向了错误的资源位置,而PrintBos.cshtml的路由层级刚好能正确定位到img目录。 - 静态文件访问权限:服务器(如IIS)可能对Print.cshtml所在目录设置了特殊限制,禁止其访问img目录下的静态资源。
- 视图渲染上下文差异:如果Print.cshtml是作为**部分视图(Partial View)**被渲染,它的相对路径基准是父页面的路由,而非自身文件的物理路径;而PrintBos.cshtml是独立视图,路径解析逻辑正常。
- 缓存影响:浏览器或服务器缓存了Print.cshtml页面的错误资源路径,可尝试清空浏览器缓存或重启服务器验证。
- 文件系统权限:Print.cshtml所在目录可能缺少读取img目录的权限,导致服务器无法读取并返回图片资源。
内容的提问来源于stack exchange,提问作者wittream
相关产品推荐
相关产品推荐

