首页 > 解决方案 > QueryString 正在获取第一个子字符串并丢弃剩余的帖子空间

问题描述

我有一个查询字符串,它在 C# 中传递 6 个参数,如下所示

string url = "Report.aspx?Desc=" + Desc.SelectedValue + "&PON=" + PNumber.Text + "&InsNme=" + ins.ToUpper().ToString() + "&BackTy=" + cb.SelectedValue + "&StartDate=" + txtDate.Text + "&EndDate=" + txtTodate.Text + "&Name=" + nme;
string s = "window.open('" + url + "', 'popup_window', 'width=1500,height=800,left=200,top=150,resizable=yes');";
ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);

现在,在上面的字符串InsNme中包含一个值John Patrice JoanneInsNme Report.aspx而不是contains just的完整值John。如何处理?

标签: c#asp.net.net

解决方案


名称中的空格会破坏 URL。

如果你想自己做,用 %20 替换空格。否则,一个简单但并不接近“好”技术的地方是:

url = "Report.aspx?";
// for each name value pair ...
url += dataLabel + "=" + System.Web.HttpUtility.UrlEncode( dataChunk ) +"&";

该实用程序是首选,因为它会处理其他类似的问题,例如名称中的文字“&”。

检查此答案以获得更好的解决方案。 如何在 C# 中为 URL 构建查询字符串?


推荐阅读