0

私はランダムにこのエラーを受け取り、これをデバッグする最良の方法とその意味を知りたい.

MESSAGE: Object reference not set to an instance of an object.
SOURCE: POL
FORM: __VIEWSTATE={{LONG STRING OF TEXT HERE}}
URL: /SourceIt.aspx
QUERYSTRING:
TARGETSITE: Void Page_Load(System.Object, System.EventArgs)
STACKTRACE: at POL.PreDischargeEducation.Page_Load(Object sender, EventArgs e)
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

編集:このエラーもランダムに発生しました。.NET などのサーバー側の更新が原因でしょうか?

編集:

protected void Page_Load( object sender, EventArgs e ) {
            ctlBriefingAffidavitSpouse.Filer = "J";
            ErrorTR.Visible = false;
            lblErrorMessage.Visible = false;
            ErrorTRBottom.Visible = false;
            lblErrorMessageBottom.Visible = false;
            if (!IsPostBack) {
                CheckCheckmarks();
                ctlBriefingOverview.Visible = true;
            } else {
                string ctrlname = Request.Params.Get( "__EVENTTARGET" );
                if(ctrlname.Length <= 0)
                    ShowNextControl();
            }
        }

編集: このコードも私のものではありません。ランダムに壊れた理由をデバッグしようとしています。この特定のアクションを実行すると、99% の確率で IE に問題があるように見えます。

4

1 に答える 1

1

その理由はSession、null にチェックせずに変数または他の変数を使用している可能性があります。
エラーは、エラーがオンでSourceIt.aspx page_load、エラーの種類がObject reference not set to an instance of an object.

できることは、変数nullを使用する前に確認することです。Session

あなたがsayを使用している場合のようにSession["UserId"].ToString()、以下のように最初にnullをチェックする必要があります

 if(Session["UserId"]!=null)
    //wirte your code here.
于 2013-06-10T04:44:48.837 に答える