gpt4 book ai didi

asp.net-mvc - 从 RouteTable 中检索路由值

转载 作者:行者123 更新时间:2023-12-04 00:24:23 24 4
gpt4 key购买 nike

我想从 RouteTable 中检索路由值,但它为空。有人可以帮忙吗?

public static class GetRouteValues
{
public static string GetSomeValue()
{
RouteCollection routes = RouteTable.Routes;
var value = routes["somevalue"].ToString();
return value;
}
}

我想检索此值以在 global.asax 文件中使用并设置为某些路由值的默认值。
string value = GetRouteValues.GetSomeValue();
routes.MapRoute(null,
"{_value}/home",
new
{
_value = value,
controller = "home",
action = "index"
});

最佳答案

好的,如果您正在尝试获取当前路线,则可以从 Controller 中执行此操作....

var completeRoute = this.ControllerContext.RouteData.Route;
//or
var justValue = this.ControllerContext.RouteData.Values["value"]

如果这就是你所追求的,请告诉我......

更新:

好的,我认为这应该可以满足您的要求。您应该能够在静态方法中使用 this,而无需传入任何上下文对象。
var httpContext = new HttpContextWrapper(HttpContext.Current); 
var requestContext = new RequestContext(httpContext, new RouteData());
var completeRoute = requestContext.RouteData.Route;
var justValue = requestContext.RouteData.Values["value"];

希望有帮助。

关于asp.net-mvc - 从 RouteTable 中检索路由值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2173245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com