是否有方法从ASP.NET MVC中的URL中提取区域,控制器,操作和查询字符串?如果已经有办法做到这一点,不想重新发明实施自己的车轮。如何将字符串URL解析为MVC路由值(区域,控制器,动作,查询字符串)?
谢谢!
是否有方法从ASP.NET MVC中的URL中提取区域,控制器,操作和查询字符串?如果已经有办法做到这一点,不想重新发明实施自己的车轮。如何将字符串URL解析为MVC路由值(区域,控制器,动作,查询字符串)?
谢谢!
我能够从这里得到它:
String URL to RouteValueDictionary
要想从这个例子中,我使用的区域:
弦面积= routeData.DataTokens [ “区”]的ToString ();
你可以拉从路线这样的信息:
var controller = RouteData.Values["controller"];
var action = RouteData.Values["action"];
var action = RouteData.Values["area"];
至于查询字符串来说,你可以从请求拉:
var queryString = Request.Url.Query;
UPDATE:
如果网址来自DB:
var uri = new Uri(someStringThatRepresentsTheUrlAndComesFromADb);
var queryString = uri.Query;
嗯,这实际上很酷,但URL字符串不是从当前上下文,它来自数据库。 – 2010-09-02 13:39:04
@Ozzie,请参阅我的更新。 – 2010-09-02 13:41:33
谢谢,是的,我可以得到querystring。问题在于真正获得区域,控制器和行动。有时一个动作有一个尾随的'/',有时它不会,所以从正确的数字可能会误导。另一方面,一个应用程序可以在IIS中的不同目录结构中,因此从左侧开始计算位置并不简单... – 2010-09-02 13:47:35