0

ASP.NET MVC で "残りをキャッチ" ルートを作成する方法を知りたいですか?
フォーマットされた URL を取得し、その値に対してデータを読み取り、リンクの残りを取得して変数に保存し、後でそれを読み取ってリンクを生成できるようにする必要があります。
blog.mydomain.com/linker/process/2612010/2828/en/articles/october/asking-the-overflow/madd.aspx

読み方:
memberid = 2612010
memberrating = 2828
language = en
restofurl = "articles/october/asking-the-overflow/madd.aspx"


またはこのリンク: blog.mydomain.com/linker/process/2612010/2828/en/articles/october/read.aspx?m=828

次のように読みます:

memberid = 2612010
memberrating = 2828
language = en
restofurl = "articles/october/read.aspx?m=828"


また

blog.mydomain.com/linker/process/2612010/2828/en/articles
to:
memberid = 2612010
memberrating = 2828
language = en
restofurl = "articles"


私は次のようなことを考えました:

routes.MapRoute(
            "Linker", // Route name
            "Linker/Process/{memberid}/{memberrating}/{lang}/{*other}", // ULR with parameters
            new { controller = "Linker", action = "Process", lang = "en", other = UrlParameter.Optional} 
        );

このルートはリンクの残りの部分を正しく取得しますが、末尾の URL パラメーターを省略します: blog.mydomain.com/linker/process/2612010/2828/en/articles/october/read.aspx?m=828

また、 articles/october/read.aspxのみ
を「restofurl」値として表示します。
古典的な url get params assignet は何にも必要ありません。ただ、それらをrestofurl変数の一部にしたいだけです。

4

1 に答える 1

1

私はこれに自分で答えます。

var restofurl =
String.Format("{0}?{1}", RouteData.Values["other"], Request.QueryString);

正しい URL を効果的に構築します。「よりクリーン/より良い」方法を見つけた場合は、投稿してください。

于 2011-01-27T17:59:19.577 に答える