页面后台代码变量问题,紧急。。。。。
求助:我再一个页面的后台代码声明了一个变量如:
private int customerId = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["CustomerID"] + "" != "")
{
customerId =int.Parse(Session["CustomerID"]);
}
}
当A访问时customerId 为A的customerId ,此时B访问后A的customerId 就成为B的customerId 了,但customerId 不是static
的啊,这是为什么?
各位大神,能说一下吗? --------------------编程问答-------------------- if (Session["CustomerID"] + "" != "")
这个判断是什么意义?还有B怎么能能访问A的Session? --------------------编程问答-------------------- 不要那个判断看看 --------------------编程问答--------------------
这个判断
if (Session["CustomerID"].ToString() != "")
或者
if (Session["CustomerID"]=null)
看看Session["CustomerID"]的类型。
Session是标识用户身份
你建立个C页面 只要Session不丢失 一样可以访问到。
去查查Session的用法和概念 --------------------编程问答-------------------- 说实话,真没看懂问什么 --------------------编程问答-------------------- 偶也没看懂啊。 --------------------编程问答-------------------- 我知道 你问的什么意思,你的那个变量声明在方法的上面, 那就是全局变量了。不是局部变量。所以就…… --------------------编程问答-------------------- if (Session["CustomerID"] != null && Session["CustomerID"].ToString() != "")
{
try{
customerId =int.Parse(Session["CustomerID"].ToString());
}catch(Exception ex){ customerId = 0 ;}
} --------------------编程问答-------------------- 顶3楼
另外请学会下断点调试
这些问题都不成问题了 --------------------编程问答-------------------- Session["CustomerID"] + "" != ""是判断Session["CustomerID"]是否为空,防止int.Parse(Session["CustomerID"])出错,问题找出来了,是页面的生存周期问题。 --------------------编程问答--------------------
这哥们说的非常清楚。。。 --------------------编程问答--------------------
这哥们说的非常清楚。。。
补充:.NET技术 , ASP.NET