0

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

1 回答 1

0

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

于 2009-03-23T10:01:41.770 回答