【发布时间】:2014-04-25 15:21:49
【问题描述】:
我有一些示例代码,我想在其中构建查询字符串,但在代码末尾,该字符串未正确编码以在浏览器中使用。
public partial class UrlBuilder : System.Web.UI.UserControl
{
public string Title { get; set; }
public string Url { get; set; }
public bool EnableQryString { get; set; }
public string QueryString1 { get; set; }
public string QueryString2 { get; set; }
public string QueryString3 { get; set; }
public string QueryString4 { get; set; }
public string QueryString5 { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
lnkUrl.Text = Title;
lnkUrl.NavigateUrl = Url;
if (EnableQryString)
{
StringBuilder SB = new StringBuilder();
SB.AppendLine("?");
#region Query String builder
if (!QueryString1.IsNullOrEmpty())
{
SB.AppendLine(QueryString1);
}
if (!QueryString2.IsNullOrEmpty())
{
SB.AppendLine("&" + QueryString2);
}
if (!QueryString3.IsNullOrEmpty())
{
SB.AppendLine("&" + QueryString3);
}
if (!QueryString4.IsNullOrEmpty())
{
SB.AppendLine("&" + QueryString4);
}
if (!QueryString5.IsNullOrEmpty())
{
SB.AppendLine("&" + QueryString5);
}
#endregion
lnkUrl.NavigateUrl += HttpUtility.UrlEncode(SB.ToString());
}
}
}
这是后面的字符串:
HttpUtility.UrlEncode(SB.ToString());
http://www.google.com%3f%0d%0aA%3d1%0d%0a%26B%3d2%0d%0a
我认为我没有正确使用 UrlEncode。有人可以帮忙吗?
谢谢!
【问题讨论】:
-
你希望字符串是什么样子的?
-
@Thewads 我期待一个标准的网址,例如www.google.co.uk 但如果布尔值是真的,我有更改字符串的逻辑。我希望 www.google.co.uk?A=1&B=2
标签: c# encoding urlencode encode stringbuilder