ASP.NET MVC文件夹控制器Html.ActionLink

时间:2022-12-02 11:38:10

I have the following code in my Site.Master page of an almost empty ASP.NET MVC Project.

我在几乎空的ASP.NET MVC项目的Site.Master页面中有以下代码。

<li>
    <%= Html.ActionLink("Home", "Index", "Home")%>
</li>
<li>
    <%= Html.ActionLink("Feed List", "FeedList", "Home")%>
</li>
<li>
    <%= Html.ActionLink("Monitored Feeds", "MonitoredFeeds", "Home")%>
</li>
<li>
    <%= Html.ActionLink("About", "About", "Home")%>
</li>

I haven't added anything more than a Folder to the Views Folder called Feeds. In the Feeds folder I have two Views; FeedList.aspx and MonitoredFeeds.aspx. I also added the following code to the HomeController as below.

我没有添加任何文件夹到名为Feeds的视图文件夹。在Feeds文件夹中,我有两个视图; FeedList.aspx和MonitoredFeeds.aspx。我还将以下代码添加到HomeController中,如下所示。

    [HandleError]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewData["Title"] = "The Reporter";
        ViewData["Message"] = "Welcome to The Reporter.";
        return View();
    }

    public ActionResult About()
    {
        ViewData["Title"] = "About Page";
        return View();
    }

    public ActionResult FeedList()
    {
        ViewData["Title"] = "Feed List";
        return View();
    }

    public ActionResult MonitoredFeeds()
    {
        ViewData["Title"] = "Monitored Feeds";
        return View();
    }
}

No matter what I do though, whenever I click on the links to the pages, the following error is displayed.

无论我做什么,每当我点击链接到页面时,都会显示以下错误。

Server Error in '/' Application.
--------------------------------------------------------------------------------

The view 'FeedList' or its master could not be found. The following locations were searched:
~/Views/Home/FeedList.aspx
~/Views/Home/FeedList.ascx
~/Views/Shared/FeedList.aspx
~/Views/Shared/FeedList.ascx 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: The view 'FeedList' or its master could not be found. The following locations were searched:
~/Views/Home/FeedList.aspx
~/Views/Home/FeedList.ascx
~/Views/Shared/FeedList.aspx
~/Views/Shared/FeedList.ascx

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[InvalidOperationException: The view 'FeedList' or its master could not be found. The following locations were searched:
~/Views/Home/FeedList.aspx
~/Views/Home/FeedList.ascx
~/Views/Shared/FeedList.aspx
~/Views/Shared/FeedList.ascx]
   System.Web.Mvc.ViewResult.FindView(ControllerContext context) +493
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +199
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ActionResult actionResult) +105
   System.Web.Mvc.<>c__DisplayClass13.<InvokeActionResultWithFilters>b__10() +39
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +385
   System.Web.Mvc.<>c__DisplayClass15.<InvokeActionResultWithFilters>b__12() +61
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ActionResult actionResult, IList`1 filters) +386
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +736
   System.Web.Mvc.Controller.ExecuteCore() +180
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +96
   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +36
   System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) +377
   System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) +71
   System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) +36
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053 

Have I missed something? Do I need to add the Feeds folder somewhere? Does Feeds need to go where I have "Home" listed in the links? I've even tried that and still got the error.

我错过了什么吗?我需要在某处添加Feeds文件夹吗? Feed是否需要转到我在链接中列出的“Home”的位置?我甚至试过了,但仍然得到了错误。

Thanks.

2 个解决方案

#1


8  

Create a FeedsController.cs and move these to that controller

创建一个FeedsController.cs并将它们移动到该控制器

public ActionResult FeedList()
{
    ViewData["Title"] = "Feed List";
    return View();
}

public ActionResult MonitoredFeeds()
{
    ViewData["Title"] = "Monitored Feeds";
    return View();
}

Then fix these to use the Feeds controller

然后修复这些以使用Feeds控制器

<li>
    <%= Html.ActionLink("Feed List", "FeedList", "Feeds")%>
</li>
<li>
    <%= Html.ActionLink("Monitored Feeds", "MonitoredFeeds", "Feeds")%>
</li>

#2


9  

Your controller is called "Home", therefore your views should be in the Views/Home folder, not in Views/Feeds.

您的控制器名为“Home”,因此您的视图应位于Views / Home文件夹中,而不是Views / Feeds中。

The error message clearly states that it is searching for ~/Views/Home/FeedList.aspx and ~/Views/Home/FeedList.ascx

错误消息清楚地表明它正在搜索〜/ Views / Home / FeedList.aspx和〜/ Views / Home / FeedList.ascx

#1


8  

Create a FeedsController.cs and move these to that controller

创建一个FeedsController.cs并将它们移动到该控制器

public ActionResult FeedList()
{
    ViewData["Title"] = "Feed List";
    return View();
}

public ActionResult MonitoredFeeds()
{
    ViewData["Title"] = "Monitored Feeds";
    return View();
}

Then fix these to use the Feeds controller

然后修复这些以使用Feeds控制器

<li>
    <%= Html.ActionLink("Feed List", "FeedList", "Feeds")%>
</li>
<li>
    <%= Html.ActionLink("Monitored Feeds", "MonitoredFeeds", "Feeds")%>
</li>

#2


9  

Your controller is called "Home", therefore your views should be in the Views/Home folder, not in Views/Feeds.

您的控制器名为“Home”,因此您的视图应位于Views / Home文件夹中,而不是Views / Feeds中。

The error message clearly states that it is searching for ~/Views/Home/FeedList.aspx and ~/Views/Home/FeedList.ascx

错误消息清楚地表明它正在搜索〜/ Views / Home / FeedList.aspx和〜/ Views / Home / FeedList.ascx