查了很多资料AJAX的使用会导致SESSION的丢失,发生在UpdatePanel控件中的事件最好不要有session付值的语句,传值行不行。没测试了,搞不清楚为什么SESSION丢失也有随机性 但是大部分是在第一次执行SESSION付值的时候。只有第一给SESSION付值才会发生,其他的时候我还没有发现过。session丢失的时候错误信息为是个英文的对话框,我也记不清楚了。5点了,睡了。明天继续奋斗。AJAX我对你是又爱又恨。
终于发现问题所在BUG
只要我项目重新生成一次第一次运行就会错
但是我的只要不重新生成项目怎么用都没事
紧当第一次编译生成项目的时候第一次运行的时候会有
只要不是第一次编译生成的项目就没事
前台代码简化成
<
%@ Page
Language
="C#"
AutoEventWireup
="true"
CodeBehind
="Default.aspx.cs"
Inherits
="AJAXEnabledWebApplication1._Default"
%
>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > Untitled Page </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:ScriptManager ID ="ScriptManager1" runat ="server" />
< div >
</ div >
< asp:UpdatePanel ID ="UpdatePanel1" runat ="server" >
< ContentTemplate >
< asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox >
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="Button" />
</ ContentTemplate >
</ asp:UpdatePanel >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > Untitled Page </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:ScriptManager ID ="ScriptManager1" runat ="server" />
< div >
</ div >
< asp:UpdatePanel ID ="UpdatePanel1" runat ="server" >
< ContentTemplate >
< asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox >
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="Button" />
</ ContentTemplate >
</ asp:UpdatePanel >
</ form >
</ body >
</ html >
后台代码简化成
using
System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace AJAXEnabledWebApplication1
... {
public partial class _Default : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
}
protected void Button1_Click(object sender, EventArgs e)
...{
this.Session["x"] = 1;
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace AJAXEnabledWebApplication1
... {
public partial class _Default : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
}
protected void Button1_Click(object sender, EventArgs e)
...{
this.Session["x"] = 1;
}
}
}
错误BUG信息如图: