私はリストのためにいくつかのURLを生成します。idが特定の文字列と一致すると、デフォルトの "article"以外の別のルートを呼び出すことがあります。 これを管理しました。 私は3つのルートを手に入れました。ASP.NET MVCルーティング:同じページの2つのルート、同じURLを与える方法?
routes.MapRoute(
name:="ArticleToPage",
url:="article-MySecondPage",
defaults:=New With {.Controller = "MySecondPage", .Action = "MySecondPage"}
)
routes.MapRoute(
name:="MySecondPage",
url:="MySecondPage",
defaults:=New With {.controller = "MySecondPage", .action = "MySecondPage"}
)
routes.MapRoute(
name:="Article",
url:="article-{id}",
defaults:=New With {.Controller = "Page", .Action = "Article", .id = UrlParameter.Optional}
)
これはうまく動作します
しかし、右のURLを持つために、 "AticleToPage"の代わりに "MySecondPage"ルートを呼び出す方法がありますか? 私は行為といくつかのことを指定しようとしましたが、私はどこにもいません。道を知っていますか?
EDIT私は明確なアップが行われていない可能性があります
私は同じページに私を送るそれらのルートに2 URLをリンクしています
Site/MySecondPage
Site/Article-MySecondPage
私が呼ぶ「サイト/ Article-MySecondPage "実際に私の" MySecondPage "ルートに経路を変更するか、ルートコール内のURLを変換するようにします(しかし、それは可能だと思います)。" Site/MySecondPage "
私はすでに試したましたが、それは私が「ArticleToPage」 – KryunoKijy
に合わせ変更したいURL以来トンの仕事をdoesnのが、両方のルートには、同じコントローラとアクションを呼び出し、そのまま、または余分な属性 –
また、あなたが望むURLのようなものでなければなりません。例: 'routes.MapRoute( 名前:="記事 "、 URL:=" {コントローラ}/{アクション} - {ID} "、 デフォルト:=新しい{コントローラ="ページ "、アクション="記事 " 、id = UrlParameter.Optional} ); ' –