ASP.NET - Pq no sigue la eejcucion de código?

 
Vista:

Pq no sigue la eejcucion de código?

Publicado por Sergio (4 intervenciones) el 07/04/2008 13:37:42
Hola
Llevo 3 días con esto y no hay manera... a ver si sabési decirme pq. pasa y solucionarlo. Tengo un form que cobra por servicaixa y muestra un pdf con un report(active report) del cobro. De esta manera:

---------------------------
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If AltaRealizada Then
ImpresiónServiCaixa()

Me.Cobrar.Enabled = False
Me.imgLogo.Visible = True
Me.Button2.Text = "Cerrar sesión"
else:end if
End sub
-------------------------------
Private Sub ImpresiónServiCaixa()
Dim dt As New DataTable
Dim dr As DataRow
'Formato datatable listado
dt.Columns.Add("PeriodoPago", GetType(String))
dt.Columns.Add("Emisora", GetType(String))
dt.Columns.Add("NumeroReferencia", GetType(String))
dt.Columns.Add("Identificacion", GetType(String))
dt.Columns.Add("Importe", GetType(Decimal))
dt.Columns.Add("BarCode", GetType(String))
dt.Columns.Add("Nombre", GetType(String))
dt.Columns.Add("Direccion", GetType(String))
dt.Columns.Add("Poblacion", GetType(String))

dr = dt.NewRow
Dim sEmisora As String = "05645656"
Dim sSufijo As String = "566"
Dim sReferencia As String = "999" & Format(CInt(Me.numMACodMat.Value), "00000000")
Dim sIdentificacion As String = "645645"
Dim sImporte As String = Format((numMAPreMat.Value * 100), "0000000000")
Dim sParidad As String = "0"
'-----
'Cálculo 2 Dígitos de Control del Nºde Referencia
Dim Cálculo As Double = CDbl(sEmisora)
Cálculo += CDbl(sSufijo)
Cálculo += CDbl(sReferencia)
Cálculo += CDbl(sIdentificacion)
Cálculo += CDbl(sImporte)
Cálculo = (Cálculo / 97) - Int((Cálculo / 97))
Cálculo = Int(Cálculo * 100)
Cálculo = 100 - Cálculo
'-----
'Agregamos los 2 dígitos de control
sReferencia &= Format(Cálculo, "00")

dr("PeriodoPago") = "" 'Now
dr("Emisora") = sEmisora & sSufijo
dr("NumeroReferencia") = sReferencia
dr("Identificacion") = sIdentificacion
dr("Importe") = numMAPreMat.Value
dr("BarCode") = "6756757" & sEmisora & sSufijo & sReferencia & sIdentificacion & sImporte & sParidad
dr("Nombre") = "Nom: "
dr("Nombre") &= Trim(Me.txtMANomCog.Text)

dr("Direccion") = "Direccion"
dr("Poblacion") = "CP -- Población"
dt.Rows.Add(dr)

Dim r As New rptServiCaixa
r.DataSource = dt
Try
r.Run(False)
Catch eRunReport As DataDynamics.ActiveReports.ReportException
Response.Clear()
Response.Write("<h1>Error report:</h1>")
Response.Write(eRunReport.ToString())
Return
End Try

'Se borran las cabeceras actuales de HTTP
Response.ClearContent()
Response.ClearHeaders()

'Abrir en la misma ventana
'Response.AddHeader("content-disposition", "inline")

'Abrir en nueva ventana
Response.AddHeader("content-disposition", "attachment; filename=ServiCaixa.pdf")

Response.ContentType = "application/pdf"

Dim pdf As New PdfExport
Dim memStream As New System.IO.MemoryStream
pdf.Export(r.Document, memStream)
Response.BinaryWrite(memStream.ToArray())
Response.End()
End If
--------------------------------

Abre el pdf bien pero el código
Me.Cobrar.Enabled = False
Me.imgLogo.Visible = True
Me.Button2.Text = "Cerrar sesión"
no lo ejecuta y no se pq. SI le quito el Sub Servicaixa si lo hace así que debe ser algo en el Sub servicaixa que he de cambiar... pero el que? Lo de response.end lo probé de quitar pero nada..tb probé en poner:
Me.Cobrar.Enabled = False
Me.imgLogo.Visible = True
Me.Button2.Text = "Cerrar sesión"
antes de la llamada del sub pero nada...

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pq no sigue la eejcucion de código?

Publicado por Pablo Iñareta (224 intervenciones) el 07/04/2008 15:43:04
yo creo q es por como terminas, cuando estas acabando el sub con el respond.end y todo el rollo ese q metes, con eso lo que debes estar haciendo es terminar la ejecucion de la pagina. pq no lo haces en una ventana nueva?. Le mandas los parametros q necesitas y te construyes alli el documento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar