当前位置:编程学习 > C#/ASP.NET >>

C#.NET 两个页面复杂的变量传递问题(a.aspx通过request接收变量c用sesssion传给b.aspx;b.aspx根据c处理数据库中的信息形成图片(有热区的

a.aspx.cs中代码:  
    protected void Page_Load(object sender, EventArgs e)
    {

        string dt = Request["dt"];//从页面接收的信息
        if (dt == "" || dt == null)
        {
        dt = DateTime.Now.ToString("yyyy.MM.dd");
        }
        Session.Add("时间", dt);//通过session传给b.aspx
        int[,] kkk = (int[,])Session["热区"];//从b.aspx传回的存储热区矩形的数组
b.aspx.cs中的代码:
    protected void Page_Load(object sender, EventArgs e)
    {
         dt = Session["时间"].ToString();//从a.aspx接收的变量
             。
             。
             。//数据库处理及画图
        int[,]kkk=返回二维数组的函数();
        Session["热区"] = kkk;
    }
现在遇到的问题:在访问a.aspx时提示kkk数组“未将引用设置到对象实例”。如下:

应用程序中的服务器错误。
--------------------------------------------------------------------------

未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 


行 27:         Session.Add("时间", dt);
行 28:         int[,] kkk = (int[,])Session["热区"];
行 29:         int n1 = kkk.GetLength(0);
行 30:         string[] tem = new string[n1];
行 31:         string kill = "兰色内容可替换";
 

源文件: c:\Inetpub\wwwroot\HP\img.aspx.cs    行: 29 

高手帮忙解决下,在线关注。。。。。。。。。。。。。。。

--------------------编程问答-------------------- up --------------------编程问答-------------------- 用cookies或XML把变量记录在客户端,要用时随时获取不就完了 --------------------编程问答-------------------- 是不是Session过期了,结果你的数组没有实例化?这样你取Length是会报错的 --------------------编程问答-------------------- 就提示出错来看,应该是(int[,])Session["热区"]返回的是NULL,楼主Debug下吧 --------------------编程问答-------------------- curd0468() 
你的意思是b.aspx中我要返回的数组写入客户端,a.aspx再从客户端读出?
用cookies可能用户浏览器会禁止,用XML 具体怎么做麻烦告诉下,我对XML 不熟悉,我 也刚学习。NET(C#)...... --------------------编程问答-------------------- 我感觉有的时候我运行了b.aspx再访问a.aspx就可以正确显示了
是不是访问页面的顺序有问题 --------------------编程问答-------------------- 我实验过很多次了是kkk数组null你认为我的页面访问顺序有没有问题啊?
现在的顺序是先a.aspx然后形成变量供b.aspx使用,但是没有直接转b.aspx的语句,之后在a.aspx中就直接获得int[,]kkk=session[“热区”]这里是不是有冲突? --------------------编程问答-------------------- 也想知道、 --------------------编程问答-------------------- null异常,int[,])Session[ "热区 "]是null
在b.aspx.cs中给Session[ "热区 "]赋过值后,在a.aspx.cs才能正确取到值,
像这种获取到的对象,最好是先判断是否NULL后再使用
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,