有没有办法将代码中的字典转换为url参数字符串?
e.g.
// An example list of parameters
Dictionary<string, object> parameters ...;
foreach (Item in List)
{
parameters.Add(Item.Name, Item.Value);
}
string url = "http://www.somesite.com?" + parameters.XX.ToString();
在 MVC HtmlHelpers 内部,您可以使用 UrlHelper(或控制器中的 Url)生成 URL,但在 Web 窗体代码隐藏中,此 HtmlHelper 不可用。
string url = UrlHelper.GenerateUrl("Default", "Action", "Controller",
new RouteValueDictionary(parameters), htmlHelper.RouteCollection ,
htmlHelper.ViewContext.RequestContext, true);
如果没有 MVC 帮助程序,如何在 C# Web 表单代码隐藏(在 MVC/Web 表单应用程序中)中完成此操作?
一种方法是:
var url = string.Format("http://www.yoursite.com?{0}",
HttpUtility.UrlEncode(string.Join("&",
parameters.Select(kvp =>
string.Format("{0}={1}", kvp.Key, kvp.Value)))));
您还可以使用 C#6 中引入的字符串插值:
var url = $"http://www.yoursite.com?{HttpUtility.UrlEncode(string.Join("&", parameters.Select(kvp => $"{kvp.Key}={kvp.Value}")))}";
你可以摆脱UrlEncode
如果您不需要它,我只是为了完整性而添加它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)