لماذا يتسبب رمز معالج الحدث هذا في عدم تعيين مرجع كائن على مثيل لكائن. خطأ (موجود فقط على الخادم المباشر ، طيب على DEV)؟

StackOverflow https://stackoverflow.com/questions/2379410

سؤال

فيما يلي رمز حدث Click Click ؛

  Protected Sub CompetenciesButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CompetenciesButton.Click
        Dim con As String = WebConfigurationManager.ConnectionStrings("foo").ToString()
        Dim selectedrow As String = Competencies.SelectedValue.ToString
        Dim s As String = "SELECT * from foo WHERE (" & selectedrow & " =1)"
        Dim DataAdapter As New SqlDataAdapter(s, con)
        Dim Result As New DataTable
        If Not IsNothing(DataAdapter) Then
            DataAdapter.Fill(Result)
            DataAdapter.Dispose()
        End If
        GV.DataSource = Result
        GV.DataBind()
        GV2.DataSource = Result
        GV2.DataBind()
    End Sub

ها هو المكدس:

[NullReferenceException: Object reference not set to an instance of an object.]
   administration_Search.CompetenciesButton_Click(Object sender, EventArgs e) +28
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746

كل شيء يعمل بشكل غير متصل بالإنترنت في VS2008 ولكني أحصل على هذا الخطأ بعد النشر.

شكرًا.

هل كانت مفيدة؟

المحلول

هل تكوين الويب الخاص بك هو نفسه على كل من Dev و Live؟

إذا كنت تفتقد فو سلسلة الاتصال على الخادم المباشر ، ثم con سيتم ضبط الكائن على NULL.

وإذا كنت لا تزال تواجه مشكلة في اللحاق بها ، فحاول تضمين كتلة المحاولة/التقاط ، وضع متغير سلسلة progress خارج المحاولة ، قم بتحديثه في كل سطر داخل المنطق ، وتسجيل الخطأ مع القيمة الحالية لـ progress. هذا يجب أن يساعد في تضييق المكان الذي يحدث فيه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top