C# QueryString正在获取第一个子字符串并丢弃rest post空间
我有一个查询字符串,它在C#中传递6个参数,如下所示C# QueryString正在获取第一个子字符串并丢弃rest post空间,c#,asp.net,.net,C#,Asp.net,.net,我有一个查询字符串,它在C#中传递6个参数,如下所示 string url = "Report.aspx?Desc=" + Desc.SelectedValue + "&PON=" + PNumber.Text + "&InsNme=" + ins.ToUpper().ToString() + "&BackTy=" + cb.SelectedValue + "&StartDate=" + txtDate.Text + "&EndDate=" + txtTo
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 Joanne
。而不是InsNme
Report.aspx
的完整值只包含John
。如何处理此问题?名称中的空格正在破坏URL
如果您想自己做,请将空格替换为%20。否则,一个简单但不接近“好”的技术是:
url = "Report.aspx?";
// for each name value pair ...
url += dataLabel + "=" + System.Web.HttpUtility.UrlEncode( dataChunk ) +"&";
首选该实用程序,因为它将处理其他类似问题,例如名称中的文字“&”
检查此答案以获得更好的解决方案。
名称中的空格正在破坏URL 如果您想自己做,请将空格替换为%20。否则,一个简单但不接近“好”的技术是:
url = "Report.aspx?";
// for each name value pair ...
url += dataLabel + "=" + System.Web.HttpUtility.UrlEncode( dataChunk ) +"&";
首选该实用程序,因为它将处理其他类似问题,例如名称中的文字“&”
检查此答案以获得更好的解决方案。
需要对这些空间进行url编码。需要对这些空间进行url编码。添加后,
url=System.Web.HttpUtility.UrlEncode(url);字符串s=“window.open”(“+url+”,“弹出窗口”,“宽度=1500,高度=800,左侧=200,顶部=150,可调整大小=yes”);RegisterStartupScript(this.GetType(),“script”,s,true)
我开始收到HTTP错误404.11-找不到
,这是为什么?@Lara这很容易回答:查看调试器中的url
。它是否存在?但我相信我在上面的评论中已经回答了您的问题。@EdPlunkett我遇到了类似的错误,请求过滤模块被配置为拒绝包含双转义序列的请求。
@Lara Look。在<代码>url。在里面这个调试器。看看你在那里的实际字符串。你知道如何设置断点和使用调试器吗?很好,catch@EdPlunkett我回答得很好,我添加了,url=System.Web.HttpUtility.UrlEncode(url);字符串s=“window.open”(“+url+”,“弹出窗口”,“宽度=1500,高度=800,左侧=200,顶部=150,可调整大小=yes”);RegisterStartupScript(this.GetType(),“script”,s,true)
我开始收到HTTP错误404.11-找不到
,这是为什么?@Lara这很容易回答:查看调试器中的url
。它是否存在?但我相信我在上面的评论中已经回答了您的问题。@EdPlunkett我遇到了类似的错误,请求过滤模块被配置为拒绝包含双转义序列的请求。
@Lara Look。在<代码>url。在里面这个调试器。看看你在那里的实际字符串。你知道如何设置断点和使用调试器吗?很好的catch@EdPlunkett我回答的时候没有思考。