Solved

Response.Write from within a class module

Posted on 2008-10-23
6
290 Views
Last Modified: 2012-05-05
I've build an VB class module that gathers data for a report, creates a PDF image of the finished report, and then attempts to issue a Response.Write statement to open the PDF report as follows:
        Response.Write("<script>window.open('" & HttpPath & "',target='_blank');</script>")
This causes 'Name Reponse is not Declared' to display and the project will not compile.

Looking at article I found here on Expert Exchange, I attempted the following code:
        Dim app As HttpApplication
        app.Context.Response.Write("<script>window.open('" & HttpPath & "',target='_blank');</script>")
This statement fails saying that app is a null reference.
I just can't seem to win here!

Can someone please tell me how to accomplish, what seems like should be, this simple task.

Thank you, Herb



0
Comment
Question by:stullhe104
  • 4
  • 2
6 Comments
 
LVL 17

Expert Comment

by:Daniel Reynolds
ID: 22788644
You will need to pass the application response object to the class from the calling web page.

By doing this, you get the current context of the response object.
0
 

Author Comment

by:stullhe104
ID: 22788716
That sounds easy enough. Can you give me an idea of what the code would look like to call the class?
I should think that the function I am calling within the class would look something like this:
    Public Shared Sub generateTechEvalReport(ByVal app As HttpApplication)

But what does the code look like to call this?
   generateTechEvalReport(?)

0
 
LVL 17

Expert Comment

by:Daniel Reynolds
ID: 22788787
You can even just pass the response object.
My example is in C#, but this should give you an idea

ombbt is a class that needs to use the response object

        ombbt.GenerateReport(Response);

        public void GenerateReport(HttpResponse parentResponse)
0
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 
LVL 17

Accepted Solution

by:
Daniel Reynolds earned 250 total points
ID: 22788803
generateTechEvalReport(Response)  ' should do it
or
generateTechEvalReport(Application)  ?  typing from memory here
0
 

Author Closing Comment

by:stullhe104
ID: 31509315
Hot dam... you don't know how long I've been trying to figure this out. It's been frustrating.

Thanks for coming through. This will help me a lot!

One quick follow up question... I noticed that when I do the response.write to open a new window and display the report that the webpage in the existing window of my application gets distorted by way of the images and text being larger.
Any idea why that happens?

Thanks again.. Herb
0
 
LVL 17

Expert Comment

by:Daniel Reynolds
ID: 22788902
sorry, not sure why the distortion.

Glad that helped.
Dan
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question