1

これは以前は発生していませんでしたが、突然、デフォルト ルートに到達しなくなりました。私のホームページは に行き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();
}
4

1 に答える 1

0

私は先に進み、デフォルトルートとアセットルートを逆にしましたが、すべてが機能しています。

于 2012-10-18T17:58:59.903 に答える