Link to home
Start Free TrialLog in
Avatar of Murray Brown
Murray BrownFlag for United Kingdom of Great Britain and Northern Ireland

asked on

ASP.net pdf file opening in debug mode but not on web

Hi
I use the following VB.net code in my ASP.net web app to view a pdf file. It works in debug mode but not in the deployed site online

  Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
                Exit Sub
            End If
            Response.Clear()
            'Dim filePath As String = "~/Uploads/GREAT.pdf"
            Dim filePath As String = "~/Uploads/" & oSelectedFile
            Response.ContentType = "application/pdf"
            Response.WriteFile(filePath)
        Catch ex As Exception
            'Response.Write(ex.Message)
            Me.lblErrorDeleting.Text = ex.Message & " hr556"
        End Try
    End Sub
Avatar of AndyAinscow
AndyAinscow
Flag of Switzerland image

>>It works in debug mode

and in release mode it does what ?  (Before jumping to conclusions that the version you use on the web site is working but the problem is with the web site you should test it first.)
Avatar of Murray Brown

ASKER

In debug mode it opens the pfd
To repeat myself (because debug and release builds of code are not the same, and because you distribute a release build not a debug build):
and in release mode it does what ?
This is ASP.net of course so by release mode if you mean deployed to the web then this mode doesn't work. Nothing happens
Please confirm you have the web config set to use the release mode (debug=false) otherwise you have a set of code that works and a different set of code running in a browser somewhere else which fails.  I'm just trying to rule out one possible source of the error.
Here's the markup in web config. Should debug=false here?

  <system.web>
    <httpHandlers>
      <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        validate="false" />
    </httpHandlers>
    <authentication mode="None"/>
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.5.2">
      <assemblies>
        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </assemblies>
Set the debug to false.  (It should result in faster code because all the debugging is removed at compile time).  
In reality I'm expecting it to still fail BUT it might be the problem.


ps.
http://aspalliance.com/1341_The_Infamous_DebugTrue_Attribute_in_ASPNET
Hi. Thanks but unfortunately that didn't help
OK, that clears one potential problem out of the way.
Am I correct that you don't see any error message in the label?


Does this show what you expect in the (error) label in terms of the path, or nothing at all (which implies the click event isn't getting processed).

 Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
                Exit Sub
            End If
            Response.Clear()
            'Dim filePath As String = "~/Uploads/GREAT.pdf"
            Dim filePath As String = "~/Uploads/" & oSelectedFile
Me.lblErrorDeleting.Text = filePath
            Response.ContentType = "application/pdf"
            Response.WriteFile(filePath)
        Catch ex As Exception
            'Response.Write(ex.Message)
            Me.lblErrorDeleting.Text = ex.Message & " hr556"
        End Try
    End Sub
It shows nothing at all
ASKER CERTIFIED SOLUTION
Avatar of AndyAinscow
AndyAinscow
Flag of Switzerland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Or paranoia - just in case
Protected Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        Try
            Dim oSelectedFile As String
            If Me.ListBox1.SelectedItem.Text <> "" Then
                oSelectedFile = Me.ListBox1.SelectedItem.Text
            Else
Me.lblErrorDeleting.Text = "Nothing selected"
                Exit Sub
Hi. Thanks very much for the direction. It turns out that one of the pdf files was causing the problem where the button click wasn't firing. I'm not sure how this works but your help got me there. Much appreciated!