2

I'm trying to eliminate a VB.NET button on my aspx page. Trying to use javascript and ajax to execute the same code my vb had.

I put in a script manager, set EnablePageMethods to true, added a static subroutine, and referred to it in my javascript function (BTW -- this seems a lot of work just to execute an existing subroutine). The javascript calls my code-behind and it almost works.

Problem is, now I'm getting a NullReferenceException when SimulatePrintBatchClick tries to do anything with the controls.

Error is 'Object reference not set to an instance of an object', line is 'pnlVars.Controls.Clear'

Here's the code from UW.aspx:

<WebMethod()> _
Public Shared Sub PrintBatchFromJSWM()
    Dim UWI As New UW

    UWI.SimulatePrintBatchClick()
End Sub


Sub SimulatePrintBatchClick()
    Dim Client As New LetterWriterClient

    'Run ExStream and get the PDF File
    Globals.PDF_Data = Nothing
    Globals.PDF_Data = Client.ProcessDatFile(Session("SessionID").ToString)

    'Reload the form -- turn off all controls, initialize variables and make the PDF iFrame visible
    pnlVars.Controls.Clear() 'Bombs out on THIS line of code
    pnlPDF.Visible = True
    Me.SendToBach.Visible = False
    Session.Contents("LetterVariables") = Nothing
    Session.Contents("PolicyInformation") = Nothing
    Session.Contents("Submitted") = True
    Response.Redirect("UW.aspx")
End Sub

Funny, when I run the above code in PrintBatch_Click it all executes just fine. I really don't understand why it bombs out as a subroutine.

Perhaps this is not the way to do this, but I'm at a loss for finding a different way. Originally this code was handled by an ASP/VB button, but the specs have called for it to be deleted.

Any way I can get the above code to do it's job?

Thanks, Jason

1 Answer 1

2

You cannot use any server controls in WebMethod or AjaxMethod as they are not part of Page life cycle, access these controls in Javascript.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.