Bueno, esto ya si que no lo entiendo. Explico: he puesto los controles en una carpeta llamada "includes", hasta ahí todo bien. Sin embargo, con el mismo código que tenía en un principio, ahora me carga unos controles sí y otros no. Lo más gracioso de todo es que un mismo control a veces falla y a veces no. En concreto, le paso dos parámetros por QueryString. Uno es siempre igual y el otro no se pasa siempre. Cuando le paso este último no da error, pero si no se lo paso, el dichoso UriFormatException sale a saludarme.
Este es el código del control:
Código:
Dim num As String = Request.QueryString("num")
Dim strSel As String
If num = "" Then
Try
Me.pnlIndice.Visible = True
Me.pnlNum.Visible = False
strSel = "SELECT * FROM indNumeros WHERE activada = 1 ORDER BY numero DESC"
Dim dt As DataTable = DevuelveDT(strSel)
If dt.Rows.Count > 0 Then
Me.hlUltimo.Text = "Nº " & dt.Rows(0)("numero") & " (" & dt.Rows(0)("mes") & " " & dt.Rows(0)("año") & ")"
Me.hlUltimo.NavigateUrl = "..?ver=indice&num=" & dt.Rows(0)("numero")
Me.imgUltimo.ImageUrl = "../imagen/portadas/revista" & dt.Rows(0)("numero") & ".jpg"
Me.imgUltimo.Attributes.Add("onClick", "javascript:location.href='" & "?ver=indice&num=" & dt.Rows(0)("numero") & "'")
Me.imgUltimo.Style.Item("cursor") = "hand"
If dt.Rows.Count > 1 Then
dt.Rows(0).Delete()
Me.dlNumeros.DataSource = dt
Me.dlNumeros.DataBind()
End If
Else
Response.Redirect(".?ver=NoEncontrado", False)
End If
Catch ex As Exception
Response.Write(ex.Message)
End Try
Else
Me.pnlIndice.Visible = False
Me.pnlNum.Visible = True
strSel = "SELECT * FROM indNumeros WHERE activada = 1 AND numero = " & num
Try
Dim dr As DataRow = DevuelveFila(strSel)
Me.imgPortada.ImageUrl = "../imagen/portadas/revista" & num & ".jpg"
Me.imgPortada.ToolTip = "Revista nº " & num
Me.imgPortada.AlternateText = "Revista nº " & num
Me.lblNum.Text = "Nº " & num
Me.lblTrim.Text = dr("trimestre") & " trimestre de " & dr("año")
Me.lblIndice.Text = BDaHTML(dr("indice"))
Catch ex As Exception
Response.Redirect(".?ver=NoEncontrado", False)
End Try
End If
Si paso por ejemplo, "?ver=indice&num=80" todo sin problemas pero si es símplemente "?ver=indice"....
¿Alguna idea?
Un saludo.