下图显示了Partial View GetMovieTypes.cshtml
文件夹中的Shared
我使用EmployeeController的索引视图中的行@Html.Partial("GetMovieTypes.cshtml")
调用局部视图
问题是当我使用索引操作调用员工控制器时出现服务器错误
找不到部分视图'_GetMovieTypes.cshtml'或没有查看 引擎支持搜索的位置。以下地点是 搜寻:
〜/地区/职员/查看/雇员/ GetMovieTypes.cshtml.cshtml
但是当我重命名PartialView to GetMovieTypes.cshtml.cshtml
时,它可以正常工作
为什么ViewEngine强制我两次添加.cshtml扩展程序
答案 0 :(得分:7)
删除.cshtml
部分:
@Html.Partial("GetMovieTypes")
答案 1 :(得分:4)
您只需致电
@Html.Partial("GetMovieTypes")
Dot 未被MVC
绑定识别为扩展名分隔符。所以,如果你写
“GetMovieTypes.cshtml”它搜索完全该名称,加上 cshtml
扩展名。
答案 2 :(得分:2)
您应该将代码调用更改为
@Html.Partial("_GetMovieTypes")
因为那是你的View的名字,我一直这样做。
没有必要提及扩展名,只有当您从Controller
拨打电话时才会这样做。
我自己的例子:
答案 3 :(得分:2)
您需要删除.chtml扩展程序:
@Html.Partial("GetMovieTypes")
你也可以在“父”视图中传递你所拥有的模型,如下所示:
@Html.Partial("GetMovieTypes", MovieTypesModel)
使用此方法,您的视图及其部分具有相同的模型和信息
*也许我错了,但我认为你的视图名称也有一个下划线,所以你应该这样称呼:
@Html.Partial("_GetMovieTypes", MovieTypesModel)