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

发布于 2024-07-08 20:50:19 字数 4277 浏览 12 评论 0原文

我在几乎空的 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>

除了一个名为 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();
    }
}

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

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 

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

谢谢。

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

<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.

    [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.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

茶底世界 2024-07-15 20:50:19

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

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

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

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

晨光如昨 2024-07-15 20:50:19

创建 FeedsController.cs 并将其移至该控制器

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

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

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

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

Create a FeedsController.cs and move these to that controller

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

<li>
    <%= Html.ActionLink("Feed List", "FeedList", "Feeds")%>
</li>
<li>
    <%= Html.ActionLink("Monitored Feeds", "MonitoredFeeds", "Feeds")%>
</li>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文