如何在另一个页面中创建会话并检查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");
}
}
这里我必须创建一个会话变量存储tid和AT之前发送到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之后工作,所以我不能检查这个,我只能在服务器上检查这个。我在会话创建正确吗??我是否正确调用会话为空引用??
在设置会话值和检索值以及检查它是否为空方面,您的所有代码都是正确的。
但是,与创建两个会话相比,拆分和合并字符串所花费的时间更多。对于性能测量,考虑创建两个会话,并通过转换为字符串来检查是否为null。
if (!String.IsNullOrEmpty(Convert.ToString(Session["name1"])) && !String.IsNullOrEmpty(Convert.ToString(Session["name2"])))
{
//do if true
}
else
{
Response.Redirect("~/Default.aspx",true);
}