【问题标题】:MVC 3, Asp.net 4 - Error in application - the resource can not be foundMVC 3,Asp.net 4 - 应用程序错误 - 找不到资源
【发布时间】:2012-11-19 18:56:17
【问题描述】:

我刚刚创建了一个空应用程序,添加了一个视图、一个控制器并运行了它。

我收到以下错误:

“找不到资源。” 说明:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

我的代码: 测试控制器.cs

namespace WOSubmittal.Controllers
{
    public class TestController : Controller
    {

        public ActionResult Index()
        {
            return View();
        }

    }
}

位于 Views/Test 下的视图

索引.cshtml

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

我在 Index() 例程中设置了一个断点,它甚至没有被命中。有什么想法吗?

【问题讨论】:

  • 可能是因为您的控制器被命名为 TestlController 而不是 TestController(打字错误?)
  • 你有 HomeControler 吗?您是否在 global.asax 中注册了默认路由?您是从 Visual Studio 运行它还是部署到 IIS(本地或远程)?
  • 没有 HomeController(这是一个空的应用程序)。在本地机器上从 VS 2010 运行它。
  • 你的 global.asax 中有什么

标签: asp.net-mvc asp.net-mvc-3 razor


【解决方案1】:

public static void RegisterRoutes(RouteCollection routes)中更改此内容

new { controller = "Home", action = "Index", id = UrlParameter.Optional } 

为此:

new { controller = "Test", action = "Index", id = UrlParameter.Optional }

在您的 Global.asax.cs 中

【讨论】:

  • 不,不走运。可能只需要像以前一样创建一个非空应用程序,因为这需要很长时间才能解决。
  • 试试我的解决方案并..右键单击项目并选择“属性”,单击“Web”选项卡并选择“特定页面”,将文本框留空..
【解决方案2】:

TestlController 更改为TestController

在为您的控制器寻找视图时,MVC 将在尝试解析它时使用您的控制器的名称,不带 Controller 一词。

根据您提供的代码,MVC 将查看 Views/Testl,而不是 Views/Test。

【讨论】:

  • 我的错字。它是测试控制器。抱歉 - 刚刚修好了。
【解决方案3】:

在 Web.config 文件中更改这一行:

<httpRuntime enable="false" targetFramework="4.5"/>

<httpRuntime enable="true" targetFramework="4.5"/>

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多