我遇到了一些字符串编码的问题,可能是 iis 问题,或者是我忽略的问题。基本上,随机地,当用户提交更改时,文本会与 %20 一起存储,就好像它完全忽略了我的解码一样。在 localhost、live 或任何浏览器上都不会发生在我身上;它从来都不是一致的,甚至不知道如何测试出了什么问题。
只需粘贴基本部分:
接受用户输入的文本控件
<asp:TextBox TextMode="MultiLine" runat="server" txtActionUpdate"></asp:TextBox>
然后
Javascript“转义”并传递给 ajax 方法以发送到代码隐藏
var tAction = escape(document.getElementById("txtActionUpdate").value);
然后
在 webmethod 中,我使用以下内容进行解码:
Test = Microsoft.JScript.GlobalObject.unescape(tAction);
(以前是:Test = HttpUtility.UrlDecode(tAction);)
但是,上面的两个解码选项都可以完美地工作(对我来说?)。但是随机地,当用户在处理它时,它实际上会“跳过”解码步骤,并以其编码格式(即:this%20is%20a%20Test%20string)将其写入数据库,就好像我从来没有代码。
我们有多个客户(单独的 URL),但只有一个代码库。在发布期间,我先删除然后发布,清除应用程序池,让用户清除浏览器缓存(实际上讨厌后者),但这似乎永远不会保持一致。我感觉这更像是一些“缓存”或“服务器设置”问题,而不是代码问题……让我看起来很糟糕!;) 哈哈。有人有预感吗?