[英]How to handle empty session which always gives exception in asp.net C#?
每當Session中的數據為空時,它總是會發生異常,我必須使用try catch流來處理該流,
try
{
Username = Session["Username"].ToString();
}
catch(Exception e)
{
Username = "";
}
有什么我可以檢查會話是否為空的東西。 我認為這不是處理此問題的好方法。
在調用ToString
之前檢查null
try
{
if(Session["Username"] != null)
Username = Session["Username"].ToString();
}
catch(Exception e)
{
Username = "";
}
您也可以使用三元條件運算符 ,並且不需要try-catch
塊。
Username = Session["Username"] == null ? "" Session["Username"].ToString();
可以使用Convert.ToString()
而不是使用ToString()
Convert.ToString()
。
string username = Convert.ToString(Session["Username"]);
如果Session["Username"]
為null,它將返回一個空字符串。
我更喜歡為會話添加包裝器屬性。
public string Username
{
get{ if(Session["Username"]!=null) return Session["Username"].ToString() else return String.Empty; }
set{ Session["Username"] = value; }
}
這樣嘗試
try
{
if(Session["Username"] != null)
{
Username = Session["Username"].ToString();
}
}
else
{
//Do Something else
}
好了,您可以使用字符串類來檢查會話中的字符串是否為NULL。 您可以像這樣實現。
if (string.IsNullOrEmpty((string)Session["Username"]))
{
//do your stuff
Username = Session["Username"].ToString();
}
希望這會幫助你。
您可以使用:
try
{
if(Session["Username"]!=null)
{
Username = Session["Username"].ToString();
}
}
catch(Exception e)
{
Username = "";
}
為了避免空指針異常,您應該使用
Convert.ToString(Session["Username"]);
而不是
Session["Username"].ToString();
由於Convert.ToString()也處理空結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.