ASP .NET MVC默认路由问题RTW 1.0

时间:2009-03-21 04:55:55

标签: asp.net asp.net-mvc routing asp.net-mvc-routing

我刚刚安装了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>

1 个答案:

答案 0 :(得分:0)

我设法追查问题。我在旧网站项目的IIS 7中托管它。一定有一些时髦的设置(虽然它被设置为集成模式)。所以我所做的只是创建一个新的网站和应用程序池,它首先工作:)虽然我花了几个小时!!!