加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 仅从路由数据生成URL

发布时间:2020-12-16 00:14:06 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在ASP.NET MVC中做一些简单的事情: RouteValuesDictionary routeValues = GetMyRouteData();var url = new UrlHelper(Html.ViewContext.RequestContext);return url.RouteUrl(routeValues); 问题在于,无论我做什么,url都包含来自当前请求上下文的
我正在尝试在ASP.NET MVC中做一些简单的事情:
RouteValuesDictionary routeValues = GetMyRouteData();
var url = new UrlHelper(Html.ViewContext.RequestContext);
return url.RouteUrl(routeValues);

问题在于,无论我做什么,url都包含来自当前请求上下文的路由数据.我想基于GetMyRouteData()的路由值生成一个URL.

谢谢

解决方法

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

这是设计的.您必须显式设置原始请求中存在的路由值,并且您不希望在生成的URL中为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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读