Foros del Web » Programando para Internet » ASPX (.net) »

javascript dentro de asp.net

Estas en el tema de javascript dentro de asp.net en el foro de ASPX (.net) en Foros del Web. Buenas, por favor alguien puede ayudarme o explicarme por que esto no funciona Private Sub MsgboxMod(ByVal strMsg As String) strMsg="ya existe el dato lo quiere ...
  #1 (permalink)  
Antiguo 13/03/2011, 00:25
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 7 meses
Puntos: 3
javascript dentro de asp.net

Buenas, por favor alguien puede ayudarme o explicarme por que esto no funciona

Private Sub MsgboxMod(ByVal strMsg As String)
strMsg="ya existe el dato lo quiere modificar"
Dim scriptString As String
scriptString = "<script language=JavaScript> function confirm_modifica() {"
scriptString += "if (confirm(""" & strMsg & """)==true) return true; else return false;} </"
scriptString += "script>"
If (Not ClientScript.IsClientScriptBlockRegistered("client Script")) Then
ClientScript.RegisterClientScriptBlock(Me.GetType( ), "clientScript", scriptString)
End If
End Sub

el caso es, si el registro existe le mando un mensaje al usuario que ya existe y le pregunto si desea modificarlo (Yes o No)
VS 2005 web application
Gracias por su ayuda
  #2 (permalink)  
Antiguo 13/03/2011, 00:54
 
Fecha de Ingreso: junio-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

yole pondira compas y type="text/javascript" en el javascript

scriptString = "<script type='text/javascript' language='JavaScript'> function confirm_modifica() {"
scriptString += "if (confirm(""" & strMsg & """)==true) return true; else return false;} </"
scriptString += "script>"
__________________
Sitio: www.qubitek.com.ar
Uso: www.docstorus.com para mis documentos.
  #3 (permalink)  
Antiguo 13/03/2011, 09:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

Cita:
Iniciado por berkut2009 Ver Mensaje
yole pondira compas y type="text/javascript" en el javascript

scriptString = "<script type='text/javascript' language='JavaScript'> function confirm_modifica() {"
scriptString += "if (confirm(""" & strMsg & """)==true) return true; else return false;} </"
scriptString += "script>"
Gracias berkut2009 por contestar, realice el cambio recomendado y NO funciona.
Sera que falta algo que agregar?? y donde lo agrego
  #4 (permalink)  
Antiguo 13/03/2011, 11:10
 
Fecha de Ingreso: junio-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

podes pner aca todoel codigo? por qno s entiende como se llama la funcion MsgboxMod
__________________
Sitio: www.qubitek.com.ar
Uso: www.docstorus.com para mis documentos.
  #5 (permalink)  
Antiguo 13/03/2011, 17:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

Cita:
Iniciado por berkut2009 Ver Mensaje
podes pner aca todoel codigo? por qno s entiende como se llama la funcion MsgboxMod
solo la llamo con un
Call MsgboxMod y el resto del código es la función como la viste, eso es todo el codigo
  #6 (permalink)  
Antiguo 13/03/2011, 19:18
 
Fecha de Ingreso: junio-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

hola te dejo aca el codigo de lo que a mi me funciono est aen c#

protected void Button2_Click(object sender, EventArgs e)
{
string valor = "ya existe el dato lo quiere modificar";
string scripting = "<script type='text/javascript' language='JavaScript'> function confirm_modifica() {";
scripting += "if (confirm('" + valor + "')==true) {return true;} else {return false;}} ";
scripting += "confirm_modifica(); </script>";

ClientScript.RegisterClientScriptBlock(this.GetTyp e(), "Test", scripting, false);
}


no me acuerdo como era en VB.net pero fijate 2 cosas: 1 es cuando pones entre comillas

confirm(""" & strMsg & """)

q tiene 3 comillas dobles de cada lado en mi caso pongo ' " + + " ' o & en vez de + en VB
y la otra es llamara a tu funcion al terminar de crearla

scripting += "confirm_modifica(); </script>";

y las llaves q no se si es indiferente en los returns { }
__________________
Sitio: www.qubitek.com.ar
Uso: www.docstorus.com para mis documentos.

Última edición por berkut2009; 13/03/2011 a las 19:23
  #7 (permalink)  
Antiguo 13/03/2011, 20:59
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

Cita:
Iniciado por berkut2009 Ver Mensaje
hola te dejo aca el codigo de lo que a mi me funciono est aen c#

protected void Button2_Click(object sender, EventArgs e)
{
string valor = "ya existe el dato lo quiere modificar";
string scripting = "<script type='text/javascript' language='JavaScript'> function confirm_modifica() {";
scripting += "if (confirm('" + valor + "')==true) {return true;} else {return false;}} ";
scripting += "confirm_modifica(); </script>";

ClientScript.RegisterClientScriptBlock(this.GetTyp e(), "Test", scripting, false);
}


no me acuerdo como era en VB.net pero fijate 2 cosas: 1 es cuando pones entre comillas

confirm(""" & strMsg & """)

q tiene 3 comillas dobles de cada lado en mi caso pongo ' " + + " ' o & en vez de + en VB
y la otra es llamara a tu funcion al terminar de crearla

scripting += "confirm_modifica(); </script>";

y las llaves q no se si es indiferente en los returns { }
Perfecto mi hermano ahora si pregunta si quieres modificar, pero el detalle esta en que continua hacia abajo por OK o por Cancel. Mira el código


Protected Sub btbuscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btbuscar.Click
alertScript = "select * from c03repartidor where c03guia = '" & txtguia.Text & "'"
Dim dtCustomer As DataTable = customer.readtable(alertScript)
If dtCustomer.Rows.Count > 0 Then
Call MsgboxMod("Ya existe Quiere Modificar")
txtcomprobante.Text = dtCustomer.Rows(0).Item("c03nrocomprobante")
txtfecha.Text = dtCustomer.Rows(0).Item("c03fentrega")
txtrecibido.Text = dtCustomer.Rows(0).Item("c03recibidopor")
Txtsaldo.Text = dtCustomer.Rows(0).Item("c03saldo")
Txtid.Text = dtCustomer.Rows(0).Item("c03id")

Else
Call Msgbox("Nro de Guia " & txtguia.Text & " NO Existe.")
End If
End Sub


la funcion

Private Sub MsgboxMod(ByVal strMsg As String)
Dim scriptString As String
scriptString = "<script type='text/javascript' language='JavaScript'> function confirm_modifica() {"
scriptString += "if (confirm('" + strMsg + "')==true) return true; else return false;} "
scriptString += "confirm_modifica(); </script>"
ClientScript.RegisterClientScriptBlock(Me.GetType( ), "clientScript", scriptString)
End Sub

Osea si hago Click en Cancel NO debería hacer nada y si le doy Click en OK, colocar los datos en los Textboxes para realizar la modificación
Gracias por la ayuda
  #8 (permalink)  
Antiguo 17/03/2011, 05:29
 
Fecha de Ingreso: junio-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

che si todabia te interesa lo poemos ver.. es un poco rebuscando ya, pero se puede saluds
__________________
Sitio: www.qubitek.com.ar
Uso: www.docstorus.com para mis documentos.
  #9 (permalink)  
Antiguo 17/03/2011, 07:31
 
Fecha de Ingreso: abril-2009
Ubicación: Bogota
Mensajes: 217
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: javascript dentro de asp.net

perdona, no entiendo bien cual es el problema, vi este tema y me recordo un problema muy similar, resuta que en mi caso como javascript es un lenguaje cliente y asp.net es un lenguaje servidor pues la alerta de confirmacion se mostraba despues de que se terminara todo el codigo de asp tomando como valor por defecto el false, entonces me puse a investigar y encontre algo de javascript llamado __DoPostBack, te sujiero lo investigues, si no estoy mal el ClientScript.RegisterClientScriptBlock(Me.GetType( ), "clientScript", scriptString) no retorna datos, asi que yo no sabia como hacer para que me diera el valor de lo que se avia seleccionado, lee sobre el __DoPostBack, si no encuentras nada avisame y te ayudo XD
__________________
cuidensen y que arceus los acompanhe
  #10 (permalink)  
Antiguo 20/03/2011, 13:59
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

Cita:
Iniciado por porygon_humano Ver Mensaje
perdona, no entiendo bien cual es el problema, vi este tema y me recordo un problema muy similar, resuta que en mi caso como javascript es un lenguaje cliente y asp.net es un lenguaje servidor pues la alerta de confirmacion se mostraba despues de que se terminara todo el codigo de asp tomando como valor por defecto el false, entonces me puse a investigar y encontre algo de javascript llamado __DoPostBack, te sujiero lo investigues, si no estoy mal el ClientScript.RegisterClientScriptBlock(Me.GetType( ), "clientScript", scriptString) no retorna datos, asi que yo no sabia como hacer para que me diera el valor de lo que se avia seleccionado, lee sobre el __DoPostBack, si no encuentras nada avisame y te ayudo XD
Gracias man por contestar, la situación es: Si el usuario trata de ingresar un ID que ya existe, enviarle un mensaje de que ya existe el ID y preguntarle si desea modificarlo (OK - CANCEL).

Mira el código

Protected Sub btbuscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btbuscar.Click
alertScript = "select * from c03repartidor where c03guia = '" & txtguia.Text & "'"
Dim dtCustomer As DataTable = customer.readtable(alertScript)
If dtCustomer.Rows.Count > 0 Then
Call MsgboxMod("Ya existe Quiere Modificar")
txtcomprobante.Text = dtCustomer.Rows(0).Item("c03nrocomprobante")
txtfecha.Text = dtCustomer.Rows(0).Item("c03fentrega")
txtrecibido.Text = dtCustomer.Rows(0).Item("c03recibidopor")
Txtsaldo.Text = dtCustomer.Rows(0).Item("c03saldo")
Txtid.Text = dtCustomer.Rows(0).Item("c03id")

Else
Call Msgbox("Nro de Guia " & txtguia.Text & " NO Existe.")
End If
End Sub

la funcion

Private Sub MsgboxMod(ByVal strMsg As String)
Dim scriptString As String
scriptString = "<script type='text/javascript' language='JavaScript'> function confirm_modifica() {"
scriptString += "if (confirm('" + strMsg + "')==true) return true; else return false;} "
scriptString += "confirm_modifica(); </script>"
ClientScript.RegisterClientScriptBlock(Me.GetType( ), "clientScript", scriptString)
End Sub

este código dice 'YA EXISTE EL ID, QUIERE MODIFICARLO', aparecen 2 botones OK y Cancelar, pero cuando le das CLICK en OK o en CANCEL, hace lo mismo osea que muestra los datos o sigue hacia abajo, lo ideal es que cuando le des CLICK en CANCEL NO mostrar los datos
esa es la situacion, gracias de nuevo
  #11 (permalink)  
Antiguo 21/03/2011, 20:20
 
Fecha de Ingreso: junio-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: javascript dentro de asp.net

Hola como andas, mra probe con este codigo que hice es algo parecido a lo queres ahcer

tengo en mi pagina 1 textbox y un boton

Evento del boton:

protected void Button2_Click(object sender, EventArgs e)
{
msg(); // Ejecuta el alert

TextBox1.Text = "asddas"; // Si alert es cancel tnc no ahce esto sino te redireccion a la pagina actual por loq pno pasa nada
}


Funcion:

public void msg()
{
string valor = "Desea visualizar datos?";
string scripting = "<script type='text/javascript' language='JavaScript'> function confirm_modifica() {";
scripting += "if (confirm('" + valor + "?')==false) { window.location.href = '" + Request.Url + "'; }} ";
scripting += "confirm_modifica(); </script>";

ClientScript.RegisterClientScriptBlock(this.GetTyp e(), "Test", scripting, false);
}

Lo que hace es al pulsar el boton, ejecuta la funcion antes de llenar la cajita de texto con "asdasdasd" si se confirma tnc no hace nada por lo cual ejecuta tu codigo en mi caso es TextBox1.Text = "asddas";
si es false tnc te redirecciona a tu pagina actual o sea como q no paso nada.

(Fijate arreglar el GetTyp e() por GetType() en el codigo q me pone mal aca enel foro)

espero q te sirva de algo.
Saludos.
__________________
Sitio: www.qubitek.com.ar
Uso: www.docstorus.com para mis documentos.

Última edición por berkut2009; 21/03/2011 a las 20:26
  #12 (permalink)  
Antiguo 22/03/2011, 08:08
 
Fecha de Ingreso: abril-2009
Ubicación: Bogota
Mensajes: 217
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: javascript dentro de asp.net

perdona berkut2009, me generas la siguiente duda, en tu codigo como estas retornando un valor para saber que fue lo que se selecciono si ok o cancel porque el codigo de javascript se ejecuta despues de de asp.net porque javascript es un lenguaje cliente, lo que yo hice fue en el string que mandas con el codigo de la ventana de confirmacion si la condicion se cumplia (si se precionaa ok) entonces usaba esta funcion de javascript la cual tienes que enviarle 2 parametros los cuales son string, yo lo use algo asi

__doPostBack('accion', 'IDaModificar');

asi en el evento page_load podras recuperar los valores asi:

Request.Params("__EVENTTARGET") me retorna el primer valor que coloque en __doPostBack y con Request.Params("__EVENTARGUMENT") se retorna el del segundo parametro de __doPostBack, yo lo asia algo asi:


if Request.Params("__EVENTTARGET") = 'modificar' then
'''''el codigo de si se va a modificar
text1.text = Request.Params("__EVENTARGUMENT")
elseif Request.Params("__EVENTTARGET") = 'nomodificar' then
''''lo que pase si se da cancelar
end if



intenten y avisenmen como les sale y que dudas se les generan XD



nota: este codigo genera un postback asi que tengan cuidado con el codigo que tengan en el evento load, les sijiero agan algo asi:

if Request.Params("__EVENTTARGET") = 'modificar' then
'''''el codigo de si se va a modificar
text1.text = Request.Params("__EVENTARGUMENT")
elseif Request.Params("__EVENTTARGET") = 'nomodificar' then
''''lo que pase si se da cancelar
else
'''''lo que tengan en el evento page_load
end if




me avisan cualquier cosa XD, estoy para ayudar
__________________
cuidensen y que arceus los acompanhe

Etiquetas: javascript, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:40.