C# 如何在页面加载中设置会话字段?
我有一个web表单,它使用两个页面,一个是主页,另一个是可以通过C# 如何在页面加载中设置会话字段?,c#,asp.net,C#,Asp.net,我有一个web表单,它使用两个页面,一个是主页,另一个是可以通过响应访问的页面。在我的主页上重定向,或者您可以通过了解URL导航到它。然而,自从我 int field4 = (int)(Session["field4"]); //flag to see if the source page redirected to the override page 在我的第二页的Page\u Load方法中,如果我没有通过将会话字段设置为等于前面的值从第一页到达那里,那么我会得到一个对象引用,该引用未设置
响应访问的页面。在我的主页上重定向,或者您可以通过了解URL导航到它。然而,自从我
int field4 = (int)(Session["field4"]); //flag to see if the source page redirected to the override page
在我的第二页的Page\u Load
方法中,如果我没有通过将会话字段设置为等于前面的值从第一页到达那里,那么我会得到一个对象引用,该引用未设置为对象的实例。
异常
有什么想法吗?您只需要检查会话变量是否已设置(因此键返回的值不等于null
)
如果未对字段4中的值进行任何处理,则可以执行以下操作:
bool didUserArriveViaTheHomePage = (Session["field4"] != null);
如果需要该值,您可以使用prefore-to-casting检查强制转换是否可行,或者您可以使用。您只需要检查会话变量是否已设置(因此键返回的值不等于null
)
如果未对字段4中的值进行任何处理,则可以执行以下操作:
bool didUserArriveViaTheHomePage = (Session["field4"] != null);
如果需要该值,可以使用“在强制转换之前”检查强制转换是否可行,或者使用。您正在尝试将null值转换为int类型,
因此,首先在页面加载检查中
if (Session["field4"]!=null )
{
int field4 = (int)(Session["field4"]);
}
您正在尝试将null值转换为int类型,
因此,首先在页面加载检查中
if (Session["field4"]!=null )
{
int field4 = (int)(Session["field4"]);
}
始终检查NULL
状态变量,如ViewState、Session、Application
等
if(!Page.IsPostBack)
{
if(Session["field4"]!=null)
int field4 = (int)(Session["field4"]);
}
始终检查NULL
状态变量,如ViewState、Session、Application
等
if(!Page.IsPostBack)
{
if(Session["field4"]!=null)
int field4 = (int)(Session["field4"]);
}