将部分视图返回到ajax时出错

时间:2014-06-10 02:57:45

标签: c# jquery ajax asp.net-mvc

我有一个简单的ajax调用,我曾多次使用过,比如:

$.ajax(
            {
                type: "GET",
                url: "/Admin/RolePermission?roleId=" + itemid,
                success: function (result) {
                    $("#dialog-RolePermission).html(result);
                }
            });

经过一些标准的东西,通过它的id找到对象并填充模型,我尝试将部分返回给对话框的ajax调用:

return PartialView("_CreateOrEditRolePermissions", bgAll);

现在,像往常一样,遵循将视图放在与控制器同名的文件夹中的标准协议,我在Visual Studio中看到下划线的视图名称,所有看起来都很好 - 它找到了文件... < / p>

除了我收到以下错误:

The partial view "some view name" was not found or no view engine supports the searched locations...

~/Views/RolePermission/_CreateOrEditRolePermissions.aspx
~/Views/RolePermission/_CreateOrEditRolePermissions.ascx
~/Views/Shared/_CreateOrEditRolePermissions.aspx
~/Views/Shared/_CreateOrEditRolePermissions.ascx
~/Views/RolePermission/_CreateOrEditRolePermissions.cshtml
~/Views/RolePermission/_CreateOrEditRolePermissions.vbhtml
~/Views/Shared/_CreateOrEditRolePermissions.cshtml
~/Views/Shared/_CreateOrEditRolePermissions.vbhtml

此文件夹结构在其他情况下有效,我尝试将文件移动到共享文件夹,并提供完整的文件路径和文件类型后缀,如下所示:

return PartialView("~/Views/RolePermission/_CreateOrEditRolePermissions", model);

和这(由于某种原因是&#34;浏览到文件属性中显示的url):

return PartialView("~/Admin/RolePermission/_CreateOrEditRolePermissions.cshtml", model);

编辑:

我的文件夹结构:

enter image description here

我确定这必须是简单的,这里有各种各样的问题似乎有相同的问题但是那里的解决方案没有用。如果需要,很高兴提供额外的细节,请发表评论。

1 个答案:

答案 0 :(得分:3)

您的区域使用有问题。没有深度挖掘,快速和肮脏的修复可能是使用绝对路径:

return PartialView("~/Areas/Admin/Views/RolePermission/_CreateOrEditRolePermissions.cshtml", model);