如何从会话变量中删除NullExceptionError

时间:2010-07-28 08:42:10

标签: sql visual-studio-2008

我有一个变量sem,从文本框中获取输入,但如果文本框保持为空,我希望它返回“请输入一个学期”

    int sem;
    int parsevalue;
    if (int.TryParse(TextBox2.Text, out parsevalue))
    {
        sem = parsevalue;
        Session["Sem"] = sem;
    }
    else
    {
        Literal2.Text = "Please Enter a Semester";
    }

但如果文本框为空,则Session["Sem"]会在我使用过的NullExceptionError文件中返回.aspx

我使用tryparse搜索了正确的转换,但无法清楚地了解如何打印上述错误消息。 请帮忙 提前谢谢

3 个答案:

答案 0 :(得分:0)

尝试:

 HttpContext.Current.Session["Sem"] = sem;

实际上:

 Session.Add("Sem", sem);

 Session["Sem"] = sem;

是一样的

答案 1 :(得分:0)

这里的问题是,只有在存在正确的值时才分配Session变量,但是您总是试图访问它。如果值不正确(并且未设置Session变量),则会失败。

以下是您更正后的代码:

int sem;
int parsevalue;
if (int.TryParse(TextBox2.Text, out parsevalue))
{
    sem = parsevalue;
}
else
{
    Literal2.Text = "Please Enter a Semester";
}
//Always set the Session variable when it's used somewhere else
Session["Sem"] = sem;

答案 2 :(得分:0)

Q1嗨,我有一个变量sem,从文本框中获取输入,但如果文本框保持为空,我希望它返回“请输入一个学期”

    int sem;
    int parsevalue;

    var txt = TextBox2.Text

    if (!String.IsNullOrEmpty(text) && int.TryParse(text, out parsevalue))
    {
        sem = parsevalue;            
    }
    else
    {
        Literal2.Text = "Please Enter a Semester";
    }

    Session["Sem"] = sem;