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
到:
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 获取参数分配给任何东西,只希望它们成为restofurl变量的一部分。

4

1 回答 1

1

I will answer this myself.

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

Will effectively construct a correct url. If you happen to find a "cleaner/nicer" way of doing it, please post.

于 2011-01-27T17:59:19.577 回答