как удалить NullExceptionError из переменной сеанса - PullRequest
1 голос
/ 28 июля 2010

У меня есть переменная 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 голосов
/ 28 июля 2010

Проблема в том, что вы назначаете переменную 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;
0 голосов
/ 28 июля 2010

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;
0 голосов
/ 28 июля 2010

Попробуйте:

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

На самом деле:

 Session.Add("Sem", sem);

и

 Session["Sem"] = sem;

- это то же самое

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...