生成一个URL从路线仅数据 [英] Generate a URL From Route Data ONLY

查看:125
本文介绍了生成一个URL从路线仅数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图做ASP.NET MVC简单的东西:

  RouteValues​​Dictionary routeValues​​ = GetMyRouteData();
VAR URL =新UrlHelper(Html.ViewContext.RequestContext);
返回url.RouteUrl(routeValues​​);

问题是,无论我做什么,该URL包括从当前的请求上下文路由数据。我要生成仅基于路由值从网址 GetMyRouteData()

感谢


解决方案

  

问题是,无论我做什么,该URL包含路由数据
  从目前的请求上下文


这是由设计。你必须明确地设置在原始请求present路线的价值观和你不希望在生成的URL为null:

  VAR routeValues​​ = GetMyRouteData();
    //删除您希望从得到的URL排除值
    //通过设置其值为null
    routeValues​​ [ID] = NULL;
    VAR URL =新UrlHelper(Html.ViewContext.RequestContext);
    返回url.RouteUrl(routeValues​​);

I'm trying to do something simple in ASP.NET MVC:

RouteValuesDictionary routeValues = GetMyRouteData();
var url = new UrlHelper(Html.ViewContext.RequestContext);
return url.RouteUrl(routeValues);

The problem is that no matter what I do, the url includes route data from the current request context. I want to generate a URL based on ONLY the route values from GetMyRouteData().

Thanks

解决方案

The problem is that no matter what I do, the url includes route data from the current request context

That's by design. You have to explicitly set the route values that were present in the original request and that you don't want in the resulting url to null:

    var routeValues = GetMyRouteData();
    // remove values that you want to exclude from the resulting url
    // by setting their values to null
    routeValues["id"] = null;
    var url = new UrlHelper(Html.ViewContext.RequestContext);
    return url.RouteUrl(routeValues);

这篇关于生成一个URL从路线仅数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆