2012-02-15 13 views
4

RouteMagic MVCを使用して、クエリ文字列パラメータ、またはそれらのすべてをリダイレクトで保存する方法はありますか?私は古いURLが必要です:LegacyPage.aspx?q =値にリダイレクトする新しい/ NewAction?q =値。以下の例は、私に奇妙な結果、New/NewAction?q = qを与え、実際のクエリ文字列の値ではありません。私は運がないあらゆる種類の並べ替えを試みました。どんな助けもありがとう。RouteMagic MVCを使用したクエリ文字列パラメータの保存

var newRoute = routes.MapRoute(
    "New", 
    "New", 
    new { controller = "New", action = "NewAction"} 
); 

routes.Redirect(r => r.MapRoute("Legacy", "LegacyPage.aspx"), true) 
    .To(newRoute); 

答えて

0

また、クエリ文字列パラメータをターゲットURLに移動したいと考えました。しかし、私はあなたの状況さえも得ることができません。私はrouteMagicの1.2バージョンを使用しています。

public IHttpHandler GetHttpHandler(RequestContext requestContext) { 
    var requestRouteValues = requestContext.RouteData.Values; 

    var routeValues = AdditionalRouteValues.Merge(requestRouteValues); 

    var vpd = TargetRoute.GetVirtualPath(requestContext, routeValues); 
    string targetUrl = null; 
    if (vpd != null) { 
    targetUrl = "~/" + vpd.VirtualPath; 
    return new RedirectHttpHandler(targetUrl, Permanent, isReusable: false); 
    } 
    return new DelegateHttpHandler(
    httpContext => httpContext.Response.StatusCode = 404, false); 
} 

そして、クエリ文字列パラメータがtargeUrlに追加されていないようです。

関連する問題