0

它必须是我缺少的一些简单的东西,因为这是我第一次尝试 MVC。似乎除了默认路线之外没有任何作用。

这是我的步骤:

  1. 从 MVC5 模板创建新的解决方案(RouterConfig.Configuration 上默认带有 HomeController 和 Controller/Action/Id。
  2. 添加 --> 名为 Foo 的控制器 --> 创建一个名为 Details 的 ActionResult
  3. 添加一个名为 Details 的视图
  4. 运行 MVC 项目
  5. 出现主页,我将网址更改为

本地主机:50212

本地主机:50212/Foo/详细信息

结果:我得到一个 404

是不是 MVCAreaRegistration在编译时不会自动发生?

我去了 Global.asax 并尝试放置在 Application_Start

AreaRegistration.RegisterAllAreas();

但这似乎没用。有任何想法吗?VS community 2015 是否缺少某些东西?问候

控制器/FooController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcTest.Controllers
{
    public class FooController : Controller
    {
        // GET: Foo
        public ActionResult Details()
        {
            return View();
        }
    }
}

视图/Foo/Details.cshtml

@model MyModel

Hello

Global.asax 的 App_start

namespace MvcTest
{
    public class Global : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {
            AreaRegistration.RegisterAllAreas(); 
            //This up here is something I added manually after its byDefault scaffolding
            FilterConfig.Configure(GlobalFilters.Filters);
            RouteConfig.Configure(RouteTable.Routes);
        }

@Edit,添加了 FooController 和 Views/Foo/Details

@@Edit:将缺少的 s 添加到 Detail s。同样的错误。

@@@Edit: 分享 Global.asax

4

1 回答 1

1

我首先使用 MVC 5 模板,从 Add --> New Project Window 上的在线浏览模板选项下载。

这并没有加载@john-h 在他的项目中的内容。似乎这还不够,我需要在项目上下载 MVC nuget 包。或者简单地使用 mvc 选项而不是模板创建一个 webApp。

现在它的工作。

(但是您的解决方案帮助我解决了这个问题@john-h。谢谢!)

于 2016-08-07T02:09:27.107 回答