通过http协议传送参数,但是参数丢失的问题

jlqidan 2003-08-28 09:58:26
用c#开发Web应用程序,给一个按钮添加如下属性:
New.Attributes.Add("onclick","window.open('AddNewType.aspx?parenttype="+var_ParentType+"','添加档案分类','height=300,width=300;toolbar=no;menubar=no;scrollbars=no;resizable=yes;location=no;status=no');");
但是我在AddNewType.aspx页面接收参数parenttype时,发现有时它的内容不全.比如:发送的是"基建技术档案",接收到的是"基建技术档".不知这是什么原因?怎么解决?
...全文
311 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
acewang 2003-08-28
  • 打赏
  • 举报
回复
你还可以HttpServerUtility.UrlEncode 方法编码字符串
例:
String TestString = "This is a <中 文>.";
StringWriter writer = new StringWriter();
Server.UrlEncode(TestString, writer);
String EncodedString = writer.ToString();
wangrui821 2003-08-28
  • 打赏
  • 举报
回复
传参:
New.Attributes.Add("onclick","window.open('AddNewType.aspx?parenttype=" + Server.UrlEncode(var_ParentType) + "','添加档案分类','height=300,width=300;toolbar=no;menubar=no;scrollbars=no;resizable=yes;location=no;status=no');");

获取参数:
string strParentType = Server.UrlDecode( Request.QueryString["ParentType"] );

luochen 2003-08-28
  • 打赏
  • 举报
回复
发送:HttpUtility.UrlDecode(Request.QueryString["Name"])
接受:System.Text.Encoding.GetEncoding("GB2312")

New.Attributes.Add("onclick","window.open('AddNewType.aspx?parenttype="+HttpUtility.UrlDecode(Request.QueryString["var_ParentType"])+"','添加档案分类','height=300,width=300;toolbar=no;menubar=no;scrollbars=no;resizable=yes;location=no;status=no');");

如果你保证你的客户端全是中文操作系统,我推荐把Web.config中的requestEncoding和responseEncoding的属性值全部改为"Chinese",一切将变得简单.


qiuji 2003-08-28
  • 打赏
  • 举报
回复
修改Web.Config文件(将utf-8改成gb2312)。

改成:

<!-- 全球化
此节设置应用程序的全球化设置。
-->
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
qiuji 2003-08-28
  • 打赏
  • 举报
回复
你用英文试试看,会不会丢失?

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧