0

カスタム ルートを作成しようとしましたが、常に 404 エラーが発生します。ルーティングについて読みましたが、わかりませんでした。以下のコードのようなコンテンツを表示したいのですが、名前は aZ と 0-9 の間でなければなりません。よろしくお願いします。

{action}/{name} /details/kll219dkl

  routes.MapRoute(
             name: "Default",
             url: "{controller}/{action}/{id}",
              defaults: new { controller = "home", action = "index", id = UrlParameter.Optional }
             );

            routes.MapRoute(
                name: "test",
                url: "details/{name}",
                defaults: new { controller = "Test", action = "Details", name = "ujElk392ow" }
            );

表示するだけで機能します

 public ActionResult Details(string name)
 {
    return Content(name);
 }
4

2 に答える 2

0

どうですか:

routes.MapRoute(
    name: "test",
    url: "{controller}/details/{name}",
    defaults: new { controller = "Test", action = "Details", name = String.Empty },
    constraints: new { name = @"^[a-zA-Z0-9]+$" }
);

それはあなたに与えるでしょう:

Url:                        Mapped Destination:
/Test/details/kll219dkl     TextController->Details(name: "kll219dkl")
于 2013-09-06T12:50:35.180 に答える