最近遇到的一些问题及发现
2010-05-31 15:23
232 查看
1.关于Server.UrlPathEncode和Server.UrlEncode的区别
Server.UrlPathEncode默认使用的是utf-8编码而Server.UrlEncode默认为系统默认编码(一般是gb2312)
Server.UrlDecode默认使用系统编码解码。所以这里容易发生路径解码成乱码的问题。
Response.Write(Server.UrlDecode(Server.UrlPathEncode("中文")) & "<hr>")
Response.Write(HttpUtility.UrlDecode(Server.UrlPathEncode("中文"), Encoding.UTF8) & "<hr>")
解决办法: 解码的地方使用utf-8编码。HttpUtility.UrlDecode(Server.UrlPathEncode(String), Encoding.UTF8);
或者编码的地方使用Server.UrlEncode(),编解码的默认编码方式都用gb2312;
2.关于Response.End()报thread终止的异常
当Response.End()语句放在try{}catch(){}中的时候就会出现这种问题;
解决办法:
将Response.End()放在try catch之外,如需要从try catch终止,可以使用return,然后在finally中使用Response.End();
3.TreeView控件TreeView1_SelectedNodeChanged事件不触发的问题
TreeNode dir = new TreeNode(dw["pg_tag"].ToString(), dw["pg_id"].ToString());
root.ChildNodes.Add(dir);
但是当点击父节点时,不触发后台的SelectedNodeChanged事件。
分析原因,可能是dopost函数有问题,再进一步分析,发现是页面禁用了ViewState造成的。
解决办法:
给要触发选择变更事件的节点添加动作
dir.SelectAction = TreeNodeSelectAction.SelectExpand;
页面里面启用VeiwState
<%@ Page Language="C#" AutoEventWireup="true" Inherits="left" EnableViewState="true" Codebehind="left.aspx.cs" %>
Server.UrlPathEncode默认使用的是utf-8编码而Server.UrlEncode默认为系统默认编码(一般是gb2312)
Server.UrlDecode默认使用系统编码解码。所以这里容易发生路径解码成乱码的问题。
Response.Write(Server.UrlDecode(Server.UrlPathEncode("中文")) & "<hr>")
Response.Write(HttpUtility.UrlDecode(Server.UrlPathEncode("中文"), Encoding.UTF8) & "<hr>")
解决办法: 解码的地方使用utf-8编码。HttpUtility.UrlDecode(Server.UrlPathEncode(String), Encoding.UTF8);
或者编码的地方使用Server.UrlEncode(),编解码的默认编码方式都用gb2312;
2.关于Response.End()报thread终止的异常
当Response.End()语句放在try{}catch(){}中的时候就会出现这种问题;
解决办法:
将Response.End()放在try catch之外,如需要从try catch终止,可以使用return,然后在finally中使用Response.End();
3.TreeView控件TreeView1_SelectedNodeChanged事件不触发的问题
TreeNode dir = new TreeNode(dw["pg_tag"].ToString(), dw["pg_id"].ToString());
root.ChildNodes.Add(dir);
但是当点击父节点时,不触发后台的SelectedNodeChanged事件。
分析原因,可能是dopost函数有问题,再进一步分析,发现是页面禁用了ViewState造成的。
解决办法:
给要触发选择变更事件的节点添加动作
dir.SelectAction = TreeNodeSelectAction.SelectExpand;
页面里面启用VeiwState
<%@ Page Language="C#" AutoEventWireup="true" Inherits="left" EnableViewState="true" Codebehind="left.aspx.cs" %>
相关文章推荐
- 最近发现基础很不给力啊,char*遇到的一些问题
- 最近遇到的一些问题及发现
- 总结一下最近面试遇到的一些问题吧
- 对cookie操作的时候遇到了一些的 删除、修改、查询不了问题,看来篇文章发现不错,抓一下
- vmware ubuntu 最近遇到的一些问题
- 【最近面试遇到的一些问题】Java中取小数点后两位(四种方法)
- 最近遇到的一些小问题汇总
- 最近要做个项目,遇到一些关于ansys问题,看看兄弟们能否帮我解决?
- 最近在编写一些bat工具时,发现自己对lua的io和正则表达式使用没什么了解,网络上转载解决问题后的文章。
- 一些最近发现的小问题
- 想交一些朋友。 特别是刚接触java的初学者,可以给你们解决一些小问题。 最近遇到瓶顶,希望前辈给一些建议
- MacBook 最近发现的一些问题和技巧
- 最近遇到的web开发的一些小问题,该死的,几年没做这东西,太生手了
- [Java] 最近导入外部项目遇到的一些问题的解决办法的分享
- 最近这段时间开发过程中遇到的一些细节问题汇总
- APICloud框架——总结一下最近开发APP遇到的一些问题
- 【最近面试遇到的一些问题】java中list、set和map 的区别
- 【最近面试遇到的一些问题】运行时异常与一般异常有何异同
- 最近在处理Cocoa NSString时, 遇到一些字符编码的问题
- 最近oracle开发中遇到的一些问题及解决办法(二)待续