C# 应用程序可以';使用区域时找不到视图
我正在试验区域,我有一个ajax调用,它调用了一个操作 但当试图返回Partialview时,它说它找不到它: UserAreaRegistration.cs:C# 应用程序可以';使用区域时找不到视图,c#,asp.net-mvc,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 5,我正在试验区域,我有一个ajax调用,它调用了一个操作 但当试图返回Partialview时,它说它找不到它: UserAreaRegistration.cs: public class UsersAreaRegistration : AreaRegistration { public override string AreaName { get { return "Users"; } }
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 }
);
}
}
在我的用户控制器中,我尝试了:
[RouteArea("User")]
public class UserController : Controller
{}
行动:
public ActionResult GetUsrForm()
{
var model = new UserMod();
return PartialView("testUUU");
}
但我仍然得到:
找不到部分视图“testUUU”或没有视图引擎支持
搜索的位置。搜索了以下地点:
~/Views/User/testuu.aspx~/Views/User/testuu.ascx
~/Views/Shared/testuu.aspx~/Views/Shared/testuu.ascx
~/Views/User/testuu.cshtml~/Views/User/testuu.vbhtml
~/Views/Shared/testuu.cshtml~/Views/Shared/testuu.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");
}
在testUUU.cshtml之前,您的图像中有一些锁定类型图标,请确保该文件包含在您的项目中。我设法获得了该操作,但无法返回PartialView。我对操作做了相同的操作,它对我起到了作用(我编辑了我的答案)。我尝试了这两种方法,它们都起到了作用。。。我很困惑,url找到的是动作,而不是视图。无论如何,谢谢,很抱歉在比赛中持怀疑态度