2010-07-28 67 views
1

我有一個varible SEM,這需要inputfrom文本框,但如果將文本框保留爲空,我想它返回「請輸入一個學期」如何從會話刪除NullExceptionError可變

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搜索了正確的轉換,但無法清楚地瞭解如何打印上述錯誤消息。 請幫 預先感謝您

回答

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; 
0

嘗試:

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

其實:

Session.Add("Sem", sem); 

Session["Sem"] = sem; 

是相同

+0

實際上,它都是一樣的,所以它不會解決他的問題。 :-) – Prutswonder 2010-07-28 09:10:22

0

Q1您好,我有一個varible SEM,這需要inputfrom文本框,但如果將文本框保留爲空,我想它返回「請輸入一個學期」

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;