为什么这样可以正常渲染局部视图?
@Html.Partial("~/Areas/Search/Views/Shared/_CoverageSearch.cshtml")
虽然这会返回错误:
@{
Html.RenderPartial("~/Areas/Search/Views/Shared/_CoverageSearch.cshtml");
}
您试图访问'/Areas/Search/Views/Home/Index.cshtml' 无法找到。
为什么它会抱怨View的渲染?
答案 0 :(得分:1)
从功能上讲,它们是相同的,假设你实际上有类似的东西:
@{ Html.RenderPartial("~/Areas/Search/Views/Shared/_CoverageSearch.cshtml"); }
而不仅仅是:
Html.RenderPartial("~/Areas/Search/Views/Shared/_CoverageSearch.cshtml");
后者不是有效的Razor语法,因此视图无法正确呈现。
否则,唯一的区别是RenderPartial
直接写入响应,而Partial
返回一个字符串。但是,这两种方法都不会导致您指出的错误。
我认为最有可能的是,您已将此视图作为活动标签进行了调试。 Visual Studio有时会混淆并使实际视图文件成为您的起始URL,这是通过浏览器无法访问的。只需将浏览器中的URL更改为最终加载该视图的实际路径即可。