Проблема маршрутизации ASP .NET MVC по умолчанию RTW 1.0 - PullRequest
0 голосов
/ 21 марта 2009

Я только что установил RTW 1.0 платформы MVC. Я использовал RC2 в прошлом, чтобы пройти учебники. Теперь у меня есть проблема, когда базовая маршрутизация не работает, чего у меня не было в RC2.

Если я создаю новое приложение MVC в VS 2008, маршруты для домашней страницы не работают "из коробки".

Почему-то работает следующий 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>

1 Ответ

0 голосов
/ 23 марта 2009

Мне удалось отследить проблему. Я размещал его в IIS 7 на старом проекте веб-сайта. Должно быть, были какие-то прикольные настройки (хотя был установлен интегрированный режим). Так что все, что я сделал, это создал новый веб-сайт и пул приложений, и это сработало вначале :) Хотя у меня ушли часы !!!

...