내가 좋아하는 세션을 확인하고이왜 세션 객체가 null 참조 예외를 throw합니까? 내 aspx 페이지의 일부에
if (bool.Parse(Session["YourAssessment"].ToString()) == false
&& bool.Parse(Session["MyAssessment"].ToString()) == true)
{
Response.Redirect("~/myAssessment.aspx");
}
그것은 내가 자주 페이지를 계속 연주하면 잘 작동하지만 5 분 이상, 심지어 페이지와 아무것도하지 않는 경우 페이지를 실행하는 일부 몸이 나에게 이상한 행동을 설명 할 수이
[NullReferenceException: Object reference not set to an instance of an object.]
yourAssessment.Page_Load(Object sender, EventArgs e) in d:\Projects\NexLev\yourAssessment.aspx.cs:27
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
에 대한 오류
Object reference not set to an instance of an object.
다음은 스택을 던져?
기본적으로 세션은 20 분입니다.
편집은 버튼을 클릭 나는 그것이이
protected void Page_Load(object sender, EventArgs e)
{
if (!HttpContext.Current.Request.IsAuthenticated)
{
Response.Redirect("~/login.aspx");
}
else
{
Session["YourAssessment"] = false;
Session["MyAssessment"] = false;
}
}
처럼 확인 기본 페이지에서 를 리디렉션 할 수있는 몇 가지 기준으로 수정 버튼을 가지고 페이지 기본 영문을 참조하십시오
protected void imgClientFreeEval_Click(object sender,
System.Web.UI.ImageClickEventArgs e)
{
if (HttpContext.Current.Request.IsAuthenticated)
{
string sqlQuery = "SELECT count(*) FROM SurveyClient WHERE UserID='"
+ cWebUtil.GetCurrentUserID().ToString() + "'";
SqlParameter[] arrParams = new SqlParameter[0];
int countSurvey = int.Parse(
Data.GetSQLScalerVarQueryResults(sqlQuery).ToString());
if (countSurvey > 0)
{
Session["YourAssessment"] = true;
Session["MyAssessment"] = false;
}
Response.Redirect((countSurvey > 0)
? "~/yourAssessment.aspx"
: "~/myAssessment.aspx");
}
else
{
Response.Redirect("~/login.aspx");
}
을 가지고 있으며, myAssessment 페이지에이
처럼 확인protected void Page_Load(object sender, EventArgs e)
{
if (!HttpContext.Current.Request.IsAuthenticated)
{
Response.Redirect("~/login.aspx");
}
else
{
if (Session["YourAssessment"] != null
&& Session["MyAssessment"] != null
&& bool.Parse(Session["YourAssessment"].ToString())
&& !bool.Parse(Session["myAssessment"].ToString()))
{
Response.Redirect("~/yourAssessment.aspx");
}
}
}
및 yourAssessmtn에 설명하십시오 뭐가 잘못이
protected void Page_Load(object sender, EventArgs e)
{
if (!HttpContext.Current.Request.IsAuthenticated)
{
Response.Redirect("~/login.aspx");
}
else
{
if (Session["YourAssessment"] != null
&& Session["MyAssessment"] != null
&& !bool.Parse(Session["YourAssessment"].ToString())
&& bool.Parse(Session["MyAssessment"].ToString()))
{
Response.Redirect("~/myAssessment.aspx");
}
PopulateAllSurveyByUser();
if (ViewState["surveyClientID"] != null)
{
grdSurveyDetail.Visible = true;
PopulateSurveyDetails(
int.Parse(ViewState["surveyClientID"].ToString()));
}
else
{
grdSurveyDetail.Visible = false;
}
}
}
처럼 확인?
에는 "YourAssessment"이 없기 때문에 또는 "MyAssessment"키를 누르십시오. –
ok 내 세션이 null이되지만 null이되면 어떤 동작을 취합니까? – NoviceToDotNet
잘 당신이 할 수있는 최선의 일은 세션에서 가치를 넣어입니다;) 그냥 농담, 어디 세션 변수를 설정합니까, 귀하의 코드를 표시 –