我刚刚安装了MVC框架的RTW 1.0。我过去使用RC2来完成教程。我现在遇到一个基本路由无法正常工作的问题,这是我在RC2中没有的。
如果我在VS 2008中创建一个新的MVC应用程序,主页的路由不会开箱即用。
由于某种原因,以下网址的工作
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>
答案 0 :(得分:0)
我设法追查问题。我在旧网站项目的IIS 7中托管它。一定有一些时髦的设置(虽然它被设置为集成模式)。所以我所做的只是创建一个新的网站和应用程序池,它首先工作:)虽然我花了几个小时!!!