public ActionResult Edit(string param)
{
}
http://localhost/Edit/5,someothervalue,etc
我如何从全局函数中获得“param”。基本上我试图从我正在构建的statinc方法访问我的url中的参数,这将是全局的。该方法分解参数并返回id和我在param中传递的其他内容
答案 0 :(得分:1)
我认为您正在寻找一种从给定网址获取路线值的方法。这里有一些代码可以帮助您使用URL字符串。请注意,我放置了一个IRouteRegistrant接口,该接口只具有一个接收路由的Register功能。基本上用您的注册机制替换它。
public static RouteData GetRouteValues(IRouteRegistrant registrant, string url)
{
var routes = new RouteCollection();
registrant.Register(routes);
var context = new FakeHttpContext(url);
return routes.GetRouteData(context);
}
因此,要获得值(对于您的参数示例),您只需要以下内容:
public static void MyFn()
{
var values = GetRouteValues(....., "~/Edit/5");
var paramValue = values.Values["param"];
.....
}
希望这有帮助。