如何在另一个页面中创建会话并检查nullreference

本文关键字:会话 创建 检查 nullreference 另一个 | 更新日期: 2023-09-27 18:15:14

我有一个创建会话变量的任务,必须检查我的会话变量在另一个页面的nullreference。这是我的代码

 if (RetValue == false)
 {
    takeTestAnchor.HRef = "SubscriptionInformation.aspx?sid="+subscriptionid 
                          + "&uid=" + _myUser.UserId;
    takeTestAnchor.Attributes.Add("class", "subscribeframe");
else    
{    
     if(Convert.ToString(Request.QueryString["tid"]) != string.Empty)
     {    
          takeTestAnchor.HRef = "testinstruction.aspx?tid=" + Convert.ToString(ID) 
                               + "&AT=" + assestype;
          takeTestAnchor.Attributes.Add("class", "testframe");
     }
}

这里我必须创建一个会话变量存储tidAT之前发送到SubscriptionInformation.aspx如果条件返回false。并且这个会话变量必须在转到SubscriptionInformation.aspx之后使用在ccavenue和成功页之后…在成功页面有一个按钮GotoTest..当用户单击时,这个会话变量应该检查空引用。如果为空,必须导航到登录页面。

所以我的努力是使会话变量为

if (Convert.ToString(Request.QueryString["tid"]) != string.Empty)
{
     **Session["TakeAtest"] = Convert.ToString(ID) + "," + assestype;**
     takeTestAnchor.HRef = "testinstruction.aspx?tid=" + Convert.ToString(ID) 
                           + "&AT=" + assestype;
     takeTestAnchor.Attributes.Add("class", "testframe");
}

在这里,我创建了会话变量,其中两个值用逗号分隔。我的怀疑是创建会话变量????的正确方式和我写得很成功。aspx是

 protected void Button1_Click(object sender, EventArgs e)    
 {
      if( Session["TakeAtest"]!=null)
      {
         string _test=Convert.ToString(Session["TakeAtest"]);
         string[] _takeatest= _test.Split(','); 
         string tid= _takeatest[0];  
         string AT=_takeatest[1];
         Response.Redirect("testinstruction.aspx?tid=" + tid + "&AT=" + AT);
      }

我的疑问是,我创建的会话是否可以在这里检查?或者我的会话创建是错误的?我可以通过调试器来检查这个,但是这里这个过程必须在ccavenue之后工作,所以我不能检查这个,我只能在服务器上检查这个。我在会话创建正确吗??我是否正确调用会话为空引用??

如何在另一个页面中创建会话并检查nullreference

在设置会话值和检索值以及检查它是否为空方面,您的所有代码都是正确的。

但是,与创建两个会话相比,拆分和合并字符串所花费的时间更多。对于性能测量,考虑创建两个会话,并通过转换为字符串来检查是否为null。

if (!String.IsNullOrEmpty(Convert.ToString(Session["name1"])) && !String.IsNullOrEmpty(Convert.ToString(Session["name2"])))
{
   //do if true
}
else
{
   Response.Redirect("~/Default.aspx",true);
}