Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# QueryString正在获取第一个子字符串并丢弃rest post空间_C#_Asp.net_.net - Fatal编程技术网

C# QueryString正在获取第一个子字符串并丢弃rest post空间

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

我有一个查询字符串,它在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 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我回答的时候没有思考。