关于session的一点问题,在线等。
我有2个页面,每个页面都有许多数据。
点击数据可以显示其最近一段时间的数据曲线。
如果单独在一个页面中点击数据,可以使显示数据的曲线叠加。
但是如果第一个页面点了一个数据以后,再到第二个页面中去点击。
数据曲线就无法叠加显示。
一开始以为是session数据丢失,按百度的方法去在web.config文件里面修改。
直接无法打开数据曲线显示的页面
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string[] pItem = context.Request["points"].Split(new char[] { '|' });
String pointString = "";
for (int i = 0; i < pItem.Length; i++)
{
pItem[i] = GetExtendId(pItem[i]);
//if (!pointString.Contains(pItem[i]))
//{
if (pItem.Length == 1)
{
pointString = pItem[i];
}
else
{
pointString += "|" + pItem[i];
}
//}
}
if (context.Session["tag"] != null)
{
context.Session["tag"] = context.Session["tag"].ToString() + "|" + pointString;
}
else
context.Session["tag"] = pointString;
ybTrend.ChartRespData respData = ybTrend.Utilites.QueryChartRespData(pointString,
context.Request["startTime"], context.Request["endTime"],
context.Request["period"]);
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
string resp = jsonSerializer.Serialize(respData);
context.Response.Write(resp);
context.Response.End();
}
protected void Page_Load(object sender, EventArgs e)这个是页面获得session值,求各位大神帮忙看下为什么会出现session中数据丢失的情况
{
if (!IsPostBack)
{
String tag = Request["Tag1"];
string[] pItem = tag.Split(new char[] { '|' });
String pointString = "";
for (int i = 0; i < pItem.Length; i++)
{
pItem[i] = GetExtendId(pItem[i]);
if (pItem.Length == 1)
{
pointString = pItem[i];
}
else
{
pointString += "|" + pItem[i];
}
}
if (Session["tag"] != null)
{
String pointsList = Session["tag"].ToString();
String[] ps = pointsList.Split(new char[] { '|' });
if (ps.Length > 10)
{
Session["tag"] = null;
this.points.Value = pointString;
}
else
{
if (!Session["tag"].ToString().Contains(pointString))
{
this.points.Value = pointsList + "|" + pointString;
}
else
{
this.points.Value = pointsList;
}
}
}
else
{
this.points.Value = pointString;
}
if (Request["UserName"] != null)
{
Session["userName"] = Request["UserName"].ToString();
}
// set first query point// Session["tag"].ToString();//
this.startTime.Value = Request["StartTime"].ToString().Replace("-", "/"); // set query start time
this.endTime.Value = Request["EndTime"].ToString().Replace("-", "/"); // set query end time
this.period.Value = "" + Convert.ToInt32(ConfigurationManager.AppSettings["DefaultPeriod"]); // set query period
this.intervalA.Value = "" + interval1;
this.intervalB.Value = "" + interval2;
this.intervalC.Value = "" + interval3;
this.QueryPeriod.Text = this.period.Value;
this.QueryStartDate.Value = DateTime.Parse(DateTime.Parse(Request["StartTime"]).ToShortDateString());
this.QueryStartTime.Text = Request["StartTime"].Split(new char[] { ' ' })[1].Split(new char[] { ':' })[0] + ":" + Request["StartTime"].Split(new char[] { ' ' })[1].Split(new char[] { ':' })[1];
this.QueryEndDate.Value = DateTime.Parse(DateTime.Parse(Request["EndTime"]).ToShortDateString());
this.QueryEndTime.Text = Request["EndTime"].Split(new char[] { ' ' })[1].Split(new char[] { ':' })[0] + ":" + Request["EndTime"].Split(new char[] { ' ' })[1].Split(new char[] { ':' })[1];
ReadUserInfo();
}
}