日期:2014-05-18  浏览次数:21236 次

<sessionState mode="InProc"...导致URL多了一些乱码
<sessionState mode="InProc" cookieless="true" timeout="20"/>
在web.config中加了上面这句导致URL多了一段,如下:
http://localhost:3034/WebHeYuan/(S(ejldok45n5mvwa55z44w4q45))/Default.aspx
本来(S(ejldok45n5mvwa55z44w4q45))是根本不存在的,访问http://localhost:3034/WebHeYuan/Default.aspx页面会自动变为上面这个URL,开发的时候公司的人乱加一些03开发的到VS05配置文件中,找了很久,总算正常了,但不知是什么原因???有高手试过吗?

以下这段加到web.config中会导致FormValidator.js运行不了,找了半天才找到, 后来把gb2312改为UTF-8就没事了,故计是编码问题导致js运行不了!哎,公司的经理加的,乱粘贴03开发的web.config,写代码控件都不改名字,晕晕晕。。。
  <globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312"/>

------解决方案--------------------
1. <sessionState mode="InProc" cookieless="true" timeout="20"/> 
這個是設置Session保存的模式是當前進程,跟URL無關,樓主要Check代碼

2.FormValidator.js gb2312問題
jQuery對中文編碼支持不太好,所以修改為UTF-8就沒關系了
------解决方案--------------------
http协议是无状态的。默认情况下,用户通过验证后,给传给客户端一个会话ID,及其他一些验证信息,用来标识该用户。而这个标识是保存在Cookies中的。

楼主将cookieless="true" ,即不使用Cookie来保存这个会话id,那么asp.net会使用url来保存这些信息。所以就出现了楼主的情况。

把cookieless="false"就可以了。