我刚刚安装了 MVC 框架的 RTW 1.0。我过去使用 RC2 来完成教程。我现在遇到了一个问题,即基本路由不起作用,而我在 RC2 中没有。
如果我在 VS 2008 中创建一个新的 MVC 应用程序,则主页的路由不能开箱即用。
由于某种原因,以下 URL 的工作
http://mydomain/
http://mydomain/Home/Index/1
但是以下不起作用并给出 404 错误。
http://mydomain/Home
http://mydomain/Home/Index
我的 RegisterRoutes 方法是默认的,看起来像这样
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
我的 HomeController.cs 看起来像这样
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MyNamespace.Controllers
{
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
}
}
并且索引视图只是生成的默认值
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<h2><%= Html.Encode(ViewData["Message"]) %></h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
</asp:Content>