ASP.NET路由未使用T4MVC命中默认值

时间:2012-10-18 02:43:16

标签: asp.net-mvc asp.net-mvc-4 routes t4mvc

之前没有发生这种情况,但突然之间,我不再是我的默认路线了。我的主页转到http://localhost:2222/assets/images/30?Controller=home&Action=index。为什么会发生这种情况?

我注意到当我在家用控制器上进行动作时它工作正常,但是如果我去另一个控制器就会出现这个问题。

@foreach(var t in MVC.Home.Index().GetRouteValueDictionary())
    {
        <span>@t.Key - @t.Value</span>
    }

Area - Controller - home Action - index

链接

@Html.ActionLink("Home", MVC.Home.Index())

Global.asax中

 routes.Add(
                "Images",
                new Route(
                    "assets/images/{Id}",
                        new RouteValueDictionary(),
                        new RouteValueDictionary { { "Id", "\\d+" } },
                        new ImageRouteHandler(new ImageHandler())
                    )
                );


            routes.MapRouteLowercase(
               "Default",


                  "{controller}/{action}",


                   new { controller = "Home", action = "Index", area="" }
                   );

HomeController.cs

public partial class HomeController : SiteController


     {
          public virtual ActionResult Index()
                {
                    var model = new HomeViewModel();


                    return View(model);
                }

T4MVC.cs

   public class ActionNamesClass {
            public readonly string Index = ("Index").ToLowerInvariant();
}

1 个答案:

答案 0 :(得分:0)

我继续前进并改变了默认路线,资产路线和一切正常,很奇怪。