C# 如何为与Mvc中的控制器匹配的特定URL添加查询字符串?
我使用以下内容为特定控制器构建url:C# 如何为与Mvc中的控制器匹配的特定URL添加查询字符串?,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我使用以下内容为特定控制器构建url: var f = new System.UriBuilder( Request.Url.AbsoluteUri ) { Path = Url.Action( "Get", "People") }; 它回来了 http://localhost/myApp/People/Get 好 向该url添加查询字符串的最佳方式是什么 意味着 我要做的是: string path = string.Concat(f.ToStrin
var f = new System.UriBuilder( Request.Url.AbsoluteUri ) {
Path = Url.Action( "Get", "People")
};
它回来了
http://localhost/myApp/People/Get
好
向该url添加查询字符串的最佳方式是什么
意味着
我要做的是:
string path = string.Concat(f.ToString(), "?id=3");
但我想知道是否有其他方法(比我上面提供的更好)将querystring附加到该Url。也许可以尝试以下扩展方法之一:
Url.Action( "Get", "People", new { id = 7 })
我想这会带来更多的代码,但也会带来更多的灵活性。也许可以尝试下面所示的一种扩展方法:
这将导致更多的代码确定,但我想更灵活。这是因为您有
id
param的路由。它实际上应该是http://localhost/myApp/People/Get/7
可编辑。如果您想准确地添加?id=3
-可能连接是最好的方法,或者将默认路由更改为不使用id
param(不推荐),我理解,这就是为什么我要求使用更好的方法来不连接,我正在避免硬编码,如果您没有personValue
param的路由,它将生成/People/Get?personValue=7
(刚刚尝试过),这是因为您有id
param的路由。它实际上应该是http://localhost/myApp/People/Get/7
可编辑。如果您想准确地添加?id=3
-可能连接是最好的方法,或者将默认路由更改为不使用id
param(不推荐),我理解,这就是为什么我要求使用更好的方法来不连接,我正在避免硬编码,如果您没有用于personValue
param的路由,它将生成/People/Get?personValue=7
(刚刚尝试过)
Url.Action( "Get", "People", new { id = 7 })