代码之家  ›  专栏  ›  技术社区  ›  Alex

ASP.NETMVC默认路由问题RTW1.0

  •  0
  • Alex  · 技术社区  · 15 年前

    如果我在VS2008中创建了一个新的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>
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   Alex    15 年前

    我已经设法找到了这个问题。我在iis7中的一个旧网站项目上托管了它。一定有一些时髦的设置(虽然它被设置为集成模式)。所以我所做的只是创建了一个新的网站和应用程序池,它第一次就成功了:)不过花了我几个小时!!!