我正在尝试区域,并且有一个调用操作的 ajax 调用 但是当尝试返回 Partialview 时,它说找不到它:
UserAreaRegistration.cs:
public class UsersAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Users";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
name: "User",
url: "User",
defaults: new { controller = "User", action = "CreateUser" }
);
context.MapRoute(
"Users_default",
"Users/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
在我的用户 Controller 中我尝试过:
[RouteArea("User")]
public class UserController : Controller
{}
Action :
public ActionResult GetUsrForm()
{
var model = new UserMod();
return PartialView("testUUU");
}
但我仍然得到:
The partial view 'testUUU' was not found or no view engine supports the searched locations. The following locations were searched: ~/Views/User/testUUU.aspx ~/Views/User/testUUU.ascx ~/Views/Shared/testUUU.aspx ~/Views/Shared/testUUU.ascx ~/Views/User/testUUU.cshtml ~/Views/User/testUUU.vbhtml ~/Views/Shared/testUUU.cshtml ~/Views/Shared/testUUU.vbhtml
我错过了什么?
最佳答案
我之前在处理区域时遇到了同样的问题,我通过在 Ajax URL 中添加区域名称来解决它
$.ajax({
url: 'Users/user/GetUsrForm',
success: function (data) {
//
}
});
行动
public ActionResult GetUsrForm()
{
var model = new UserMod();
return PartialView("~/Areas/Users/Views/User/testUUU.cshtml");
}
关于c# - 使用区域时应用程序找不到 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40529518/