a la cuestion es la siguiente.Tengo un boton añadir que me alade una cosa, mientras lo añade mira a ver si ya existe y si ya existe es cuando se llama a la funcion de javascript que me abre la pantalla informativa con el texto que yo le paso.
La funcion javascript es un confirm, que ya po ris sola me abre la pantalla con aceptar y cancelar.El problema esta a la hora de recoger el valor ese en visual basic, que al abrir la pantalla de javascript no se como acceder al aceptar y cancelar de esa funcion confirm.
No se si te he resuelto tu duda.
De todas formas te pongo aqui el codigo del boton añadir y de la funcion javascript.
Protected Sub btn_annadir_Click(ByVal sender As Object, ByVal e As System.EventArgs)
'Lo primero que hacemos es controlar si todos los datos que necesitamos para dar de alta un empleado están introducidos,
'porque si falta todos ellos o alguno de ellos debe aparecer por pantalla un mensaje avisándolo
Dim ls_error As String
Try
'If Not Page.IsValid Then
ls_error = "" '<ul>"
If Not Me.RequiredClienteAntiguo.IsValid Then
ls_error = ls_error & "<li>- " & Me.RequiredClienteAntiguo.ErrorMessage & "<BR>" & "</li>"
'ls_error = ls_error & Me.RequiredUsuarioRed.ErrorMessage
End If
If Not Me.RequiredClienteNuevo.IsValid Then
ls_error = ls_error & "<li>- " & Me.RequiredClienteNuevo.ErrorMessage & "<BR>" & "</li>"
'ls_error = ls_error & Me.RequiredNombre.ErrorMessage
End If
If Me.cbo_punto_de_envio1.SelectedIndex <= 0 And Me.cbo_punto_de_envio2.SelectedIndex <= 0 Then
ls_error += "- Debe seleccionar los puntos de envío antiguo y nuevo"
End If
If Me.cbo_punto_de_envio1.SelectedIndex <= 0 And Me.cbo_punto_de_envio2.SelectedIndex > 0 Then
ls_error += "- Debe seleccionar el punto de envío antiguo"
End If
If Me.cbo_punto_de_envio2.SelectedIndex <= 0 And Me.cbo_punto_de_envio1.SelectedIndex > 0 Then
ls_error += "- Debe seleccionar el punto de envío nuevo"
End If
If ls_error <> "" Then
abrir_pantalla_informativa_alert(ls_error)
ls_error = ""
raton()
Exit Sub
End If
Dim ls_punto_envio_antiguo As String
Dim ls_punto_envio_nuevo As String
Dim ls_comentario As String
Dim lb_crear_punto_envio As Boolean
Dim ls_dataset_punto_envio_antiguo As DataSet
Dim ls_dataset_punto_envio_nuevo As DataSet
ls_comentario = ""
' me guardo los valores de los puntos de envio.
ls_punto_envio_antiguo = Me.cbo_punto_de_envio1.SelectedValue
ls_punto_envio_nuevo = Me.cbo_punto_de_envio2.SelectedValue
ViewState("cliente_seleccionado_nuevo") = Me.txt_cliente_nuevo.Text
ViewState("cliente_seleccionado_antiguo") = Me.txt_cliente_antiguo.Text
ViewState("punto_envio_seleccionado_antiguo") = Me.cbo_punto_de_envio1.SelectedValue
ViewState("punto_envio_seleccionado_nuevo") = Me.cbo_punto_de_envio2.SelectedValue
ls_dataset_punto_envio_antiguo = clase_cliente.Devuelve_Punto_envio_Cliente_partir_de_la_descripcion(Session("USUARIO_RED"), "mapeo_clientes.aspx", Me.cbo_punto_de_envio1.SelectedValue.ToString)
ls_punto_envio_antiguo = ls_dataset_punto_envio_antiguo.Tables(0).Rows(0)(0).ToString
ls_dataset_punto_envio_nuevo = clase_cliente.Devuelve_Punto_envio_Cliente_partir_de_la_descripcion(Session("USUARIO_RED"), "mapeo_clientes.aspx", Me.cbo_punto_de_envio2.SelectedValue.ToString)
ls_punto_envio_nuevo = ls_dataset_punto_envio_nuevo.Tables(0).Rows(0)(0).ToString
If ls_punto_envio_antiguo.ToString = ls_punto_envio_nuevo.ToString Then
abrir_pantalla_informativa_alert("No se puede añadir el mismo punto de envío")
raton()
Else
lb_crear_punto_envio = clase_gestionDimSQL.añadir_punto_envio(Session("USUARIO_ID"), Session("USUARIO_RED"), "mant_usuarios.aspx", ls_punto_envio_antiguo, ls_punto_envio_nuevo, ls_comentario)
Me.txt_cliente_antiguo.Text = ""
Me.txt_cliente_nuevo.Text = ""
Me.cbo_punto_de_envio1.Items.Clear()
Me.cbo_punto_de_envio2.Items.Clear()
Me.btn_annadir.Visible = True
Me.btn_cancelar.Visible = False
Me.btn_modificar.Visible = False
End If
' aqui se abre la pantalla de si se puede añadir o no
If ls_comentario.Equals("No se ha podido añadir el punto de envío porque ya existe.") Then
' ls_comentario = "No se ha podido añadir el punto de envío porque ya existe.¿Desea modificar el punto de envio?"
abrir_pantalla_informativa2(ls_comentario)
' aqui lo q ue quiero hacer es si la pantalla de aceptar cancelar
' le da a aceptar pues pone el boton modificar para modificar
' sino no hace nada.
If Then
Me.btn_annadir.Visible = False
Me.btn_modificar.Visible = True
Me.btn_cancelar.Visible = True
End If
End If
Catch ex As Exception
abrir_pantalla_informativa_alert("El punto de envío no ha podido ser guardado")
If Err.Number <> "5" Then
'se permmite el err.number 5 ya que da siempre que hacemos un
'response.redirect(XXX,True). El error es de subproceso anulado
clase.Escribe_error_aspx(Session("empleado_id"), "Error en el boton añadir--" & ex.Message, Me.Page.Request.Url.OriginalString)
End If
Finally
End Try
End Sub
Public Function abrir_pantalla_informativa2(ByVal p_texto As String)
'Dim pantalla As StringBuilder
'pantalla = clase_pantallaInformativa.abrir_pantalla_informativa2(p_texto)
'ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "@@@@MyPopUpScript", pantalla.ToString(), False)
' Make use ScriptManager to register the script
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "temp", "if(confirm('" & p_texto & "')) {" + "__doPostBack('Aceptar','true'); " + "} else{__dopostback('Cancelar','false');}", True)
End Function.
Un cordial saludo y espero nuevas noticias.