将参数返回到操作后未找到视图

本文关键字:视图 操作 参数 返回 | 更新日期: 2023-09-27 18:14:50

我的控制器工作得很好,在没有参数的情况下击中时返回正确的视图,但是当我将参数传递给动作时,未找到视图。控制器位于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" }
        );
    }
}

区域注册到全局。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());
}

在第一次加载时,没有从评审传递的开始和结束参数。CSHTML视图,它可以正确加载。然而,当我传入这些参数,并试图返回参数过滤结果到相同的视图,我得到错误

未找到视图'Review'或其母视图或没有视图引擎支持搜索位置。以下地点是搜索:~//ApplicationReview/Review.aspx观点~/视图/ApplicationReview/审查。ascx ~//共享/Review.aspx观点~/视图/共享/审查。ascx ~//ApplicationReview/Review.cshtml观点~/视图/ApplicationReview/审查。vbhtml ~//共享/Review.cshtml观点~/视图/共享/Review.vbhtml

有什么问题吗?

将参数返回到操作后未找到视图

问题是,如果你只提到Name of View,它会导致Ambiguity,因为它发现了Web serviceView,并会出现错误以避免混淆

尝试使用视图的完整路径,例如

return View("~/Views/ApplicationReview/Review.cshtml",model.ToList());