Foros del Web » Programación para mayores de 30 ;) » .NET »

JavaScript y c#

Estas en el tema de JavaScript y c# en el foro de .NET en Foros del Web. Hola Buenos Dias!!! A ver si alguien me puede ayudar, Tengo una aplicación en .net con c# y quiero en una página hacer unas validaciones ...
  #1 (permalink)  
Antiguo 22/01/2004, 06:52
 
Fecha de Ingreso: noviembre-2003
Mensajes: 9
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta JavaScript y c#

Hola Buenos Dias!!!

A ver si alguien me puede ayudar,

Tengo una aplicación en .net con c# y quiero en una página hacer unas validaciones con javascript una vez que pulsen un botón, pero además quiero que en caso de que las validaciones estén bien siga ejecutando el código de detras, el c#, porque tengo una consulta.

Pero sólo quiero el acceso al servidor una vez validados los campos y no puedo usar los validadores propios de .net porque no me funcionan en netscape 4.2, así que necesito hacerlo a pelo en javascript.

Bueno, a ver si me he explicado. Muchas gracias.
  #2 (permalink)  
Antiguo 22/01/2004, 14:28
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola y bienvenido... si quieres hacer tus propias validaciones lo que haces es crear tu funcion de javascript en la página que deseas validar..

Por ejemplo.. tienes una página que tiene a cuadros de texto (txt1 y txt2) y un boton (btn) (los textbox y el boton están del lado del servidor)

Tu código sería algo como ésto:
Cita:
<html>
<head>
function validar()
{
var t1 = document.forms(0).elements['txt1 '].value;
...
...

}
</script>
</head>
<body>
..
..
y en tu codebehind al boton que desees asosciarle el evento harías ésto:

Cita:
btn.Attributes("onClick") = "validar();"
Pero Ojo... cuando te haga la validación se hará de todas formas un postback...

Que hacer..???

En mi caso cuando deseo validar con javascript y si se cumplen ciertos requerimientos utilizo y control del lado del cliente y en mi funcion le anexo el mismo __dopostback y le paso el parámetro del control que deseo ejectutar.

Ejemplo 2 para hacer lo mismo.

Tengo un cuadro de texto(txt1 del lado del servidor), un boton (btn1 del lado del servidor) que me va a ejecutar mi código, y otro botón (btn2 del lado del cliente ) que va a hacer las validaciones correspondientes.

Cita:
<html>
<head>
<script language="javascript">
function validar()
{

var t1 = document.forms(0).elements['txt1'].value;
...
/* mi codigo para validar */
..
if t1 ...alguna conficion
{
/* hago algo */
}
else
{
__doPostBack('btn1','') /* aqui es donde le paso el id del control para ejecutar mi códigfo y se haga el postback */
}

}
</script>
....
y en mi html.. tendría:

Cita:
<asp:button id="btn1 " runat="server" Text="Button"></asp:button>

<INPUT type="button" value="Envio" name="btn2" onclick="validar();">
Y con ello si se cumple la condicion se ejecutará el código del lado del server pasandole como parámetro el control deseado.

Espero que te sirva así como les sea de utilidad a otros.

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 22/01/2004, 14:53
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola y bienvenido... si quieres hacer tus propias validaciones lo que haces es crear tu funcion de javascript en la página que deseas validar..

Por ejemplo.. tienes una página que tiene a cuadros de texto (txt1 y txt2) y un boton (btn) (los textbox y el boton están del lado del servidor)

Tu código sería algo como ésto:
Cita:
<html>
<head>
function validar()
{
var t1 = document.forms(0).elements['txt1 '].value;
...
...

}
</script>
</head>
<body>
..
..
y en tu codebehind al boton que desees asosciarle el evento harías ésto:

Cita:
btn.Attributes("onClick") = "validar();"
Pero Ojo... cuando te haga la validación se hará de todas formas un postback...

Que hacer..???

En mi caso cuando deseo validar con javascript y si se cumplen ciertos requerimientos utilizo y control del lado del cliente y en mi funcion le anexo el mismo __dopostback y le paso el parámetro del control que deseo ejectutar.

Ejemplo 2 para hacer lo mismo.

Tengo un cuadro de texto(txt1 del lado del servidor), un boton (btn1 del lado del servidor) que me va a ejecutar mi código, y otro botón (btn2 del lado del cliente ) que va a hacer las validaciones correspondientes.

Cita:
<html>
<head>
<script language="javascript">
function validar()
{

var t1 = document.forms(0).elements['txt1'].value;
...
/* mi codigo para validar */
..
if t1 ...alguna conficion
{
/* hago algo */
}
else
{
__doPostBack('btn1','') /* aqui es donde le paso el id del control para ejecutar mi códigfo y se haga el postback */
}

}
</script>
....
y en mi html.. tendría:

Cita:
<asp:button id="btn1 " runat="server" Text="Button"></asp:button>

<INPUT type="button" value="Envio" name="btn2" onclick="validar();">
Y con ello si se cumple la condicion se ejecutará el código del lado del server pasandole como parámetro el control deseado.

Espero que te sirva así como les sea de utilidad a otros.

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 23/01/2004, 03:11
 
Fecha de Ingreso: noviembre-2003
Mensajes: 9
Antigüedad: 20 años, 5 meses
Puntos: 0
Muchas gracias por la información, al final lo he conseguido solucionar de otra forma, te la cuanto por si te vale o le sirve a alguien.

Yo las funciones de validación las tengo en un fichero js porque las uso en muchas páginas, pero vamos que eso no tiene ninguna diferencia, con adjuntar el fichero estamos igual.

El caso es que al final hemos añadido en el OnSubmit del form la siguiente intrucción;

<form ........ OnSubmit="javascript:return NOMBRE_DE_LA_FUNCION();">

Hacemos que la función pase true o false dependiendo de que se validen los campos o no y así si devuelve false, no hace nada de nada y si devuelve true hace el pstback para ejecutar el c#.

De todas formas probaré lo que me ha comentado y muchísimas gracias.
  #5 (permalink)  
Antiguo 08/03/2004, 08:47
 
Fecha de Ingreso: marzo-2004
Ubicación: Costa Rica
Mensajes: 2
Antigüedad: 20 años, 1 mes
Puntos: 0
Buenas como estan.

Estaba viendo el comentario de como ligar javascript con c# y lo estaba usando para un problema que tengo.

Primero intente utilizar la funcion _doPostBack como muestran en el ejemlo pero me dice que no existe la funcion y me da un error. Luego investigando por ahi encontre que al boton en este caso un input del lado del servidor le puedo poner una funcion de javascript y desde el codigo del servidor puedo hacer ServerClick con lo cual permito hacer desde el lado de JavaScript y desde el lado del servidor.

Ahora si mi problema es un poco diferente porque necesito que se ejecute primero las funciones del servidor y luego la de javascrit. Sin embargo, siguiendo este modelo se ejecuta el javascript y luego el codigo del servidor.

Para que tengan una idea lo que estoy haciendo es un upload de archivos al servidor. Empece con un un boton del servidor y esto como una pagina independiente me funciona bien, el codigo esta escrito desde el lado del servidor.

Ahora si el problema de juntar javascript surgio por necesidad de llamar a la ventana con un modal y que este devolviera el nombre del archivo. Entonces queria que cuando el servidor terminara de cargar el archivo el javascript tomara el nombre del archivo y lo retornara a la ventana que lo llamo, pero como en este caso se ejecuta primero el javascript no devuelve nada aunque verdaderamente si se esta cargando el archivo correctamente.
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




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