2010-09-02 75 views

回答

6

我能够从这里得到它:

String URL to RouteValueDictionary

要想从这个例子中,我使用的区域:

弦面积= routeData.DataTokens [ “区”]的ToString ();

-2

你可以拉从路线这样的信息:

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; 
+0

嗯,这实际上很酷,但URL字符串不是从当前上下文,它来自数据库。 – 2010-09-02 13:39:04

+0

@Ozzie,请参阅我的更新。 – 2010-09-02 13:41:33

+0

谢谢,是的,我可以得到querystring。问题在于真正获得区域,控制器和行动。有时一个动作有一个尾随的'/',有时它不会,所以从正确的数字可能会误导。另一方面,一个应用程序可以在IIS中的不同目录结构中,因此从左侧开始计算位置并不简单... – 2010-09-02 13:47:35