我的控制器工作正常并在没有参数的情况下返回正确的视图,但是当我将参数传递给操作时,找不到视图。控制器位于名为Admin的区域中,路径注册显示在
下方public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get { return "Admin"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "ZedvancePortal.Areas.Admin.Controllers" }
);
}
}
appstart文件夹中的RouteConfig.cs
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "ZedvancePortal.Controllers" }
);
}
}
该区域已在Global.asax页面中注册。这是下面的控制器操作。
public ActionResult Review(DateTime? start, DateTime? end)
{
var model = _db.Applications.Include(a => a.ApplicationStatus).OrderByDescending(a => a.ApplicationDate);
if (start != null && end != null)
{
model = model.Where(a => a.ApplicationDate >= start && a.ApplicationDate <= end).OrderByDescending(a=>a.ApplicationDate);
}
return View(model.ToList());
}
首次加载时,如果没有从Review.cshtml视图传递的start和end参数,则会正确加载。但是,当我传入这些参数并尝试将参数筛选结果返回到同一视图时,我得到错误
观点&#39;评论&#39;或者没有找到它的主人或没有查看引擎 支持搜索的位置。以下地点是 搜索:〜/ Views / ApplicationReview / Review.aspx 〜/ Views / ApplicationReview / Review.ascx~ / Views / Shared / Review.aspx 〜/ Views / Shared / Review.ascx~ / Views / ApplicationReview / Review.cshtml 〜/ Views / ApplicationReview / Review.vbhtml~ / Views / Shared / Review.cshtml 〜/查看/共享/ Review.vbhtml
可能是什么问题?
答案 0 :(得分:1)
问题是因为如果您仅提及视图名称,则会生成Ambiguity
,因为它找到了Web service
和View
,并且会出现错误以避免混淆
尝试使用Full Path of View,例如
return View("~/Views/ApplicationReview/Review.cshtml",model.ToList());