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

ayuda con confirm

Estas en el tema de ayuda con confirm en el foro de ASPX (.net) en Foros del Web. Primero que todo les saludos como primer post y espero poder ser de ayuda para algunos y que me puedan ayudar esta ves Pasa lo ...
  #1 (permalink)  
Antiguo 21/07/2010, 09:07
 
Fecha de Ingreso: julio-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
ayuda con confirm

Primero que todo les saludos como primer post y espero poder ser de ayuda para algunos y que me puedan ayudar esta ves

Pasa lo siguiente

Tengo que hacer un confirm en c# y pasa que cuando lo coloco en mi codigo este lo lee y todo pero el codigo sigue corriendo y no se detiene a esperar la respuesta.

Me explico mejor con un ejemplo.

int contador1 = obtieneContador(parametro);
int contador2 = obtieneContador(parametro);

if(contador1<contador2){
//Page.ClientScript.RegisterClientScriptBlock(this.G etType(), "ALGO", "javascript:PreguntaTopeHorario('no puede hacer esto, \\r ¿Continúa? ');", true);

continua el codigo
}

el tema es que lo ideal es que al responder que si continue pero al ejecutarlo continua igual y nunca sale el confirm ni nada y el codigo se ejecuta

Mi idea es detener de algun modo el codigo cuando requiera la respuesta, capturarla y continuar dependiendo de esta

Se me entiende????
Alguien sabe o tiene algun codigo que me sirva???

Ojo que no es un evento generado por el click de un boton asi que no me sirve por lo que se la siguiente linea

boton.Attributes.Add("onclick", "if (!confirm('¿ Está seguro que desea aceptar esta información ?')) return false;");

de ante manos se agradece
y como dije antes espero ser un aporte a este foro igualmente
  #2 (permalink)  
Antiguo 21/07/2010, 16:01
 
Fecha de Ingreso: noviembre-2009
Mensajes: 46
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: ayuda con confirm

hola lo que tu quieres es q desde tu codigo cs levantar un cuadro de confirmacion??

lo que yo haria es usar PopUp o el control ModalPopUp del ajax control toolkit que te permite hacer mensajes personalizados y mas vistosos q las ventanas de confirmacion o mensajes de alerta es mas trabajo realizarlos pero con un buen estilo quedan bastante bien y puedes aprobechar los eventos de los botones que alli coloques

tratare de ver si hay alguna forma de ver la alternativa q tu dices


saludos
  #3 (permalink)  
Antiguo 22/07/2010, 18:31
 
Fecha de Ingreso: julio-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda con confirm

Bueno, encontré la solución y encuentro que es correcto entregarla para ver si a alguien mas le sirve.

primero en el aspx creamos dos funciones javascrip de la siguiente manera

<script type="text/javascript">
function __Submitear(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("m icrosoft") > -1) {
theform = document.Form1;
if (theform == null) { theform = document.form1 };
}
else {
theform = document.forms["Form1"];
if (theform == null) { document.forms["form1"] };
}
theform.__EVENTO.value = eventTarget.split("$").join(":");
theform.__ARGUMENTO.value = eventArgument;
theform.submit();
}
function PreguntaOtraInscripcion(Obj) {

if (confirm(Obj) == true) {
__Submitear("PreguntaOtraInscripcion");
}
}
</script>

y en el cuerpo agregamos lo siguiente

<body>
<input type="hidden" name="__EVENTO">
<input type="hidden" name="__ARGUMENTO">
</body>

luego en c# hacemos algo como esto en el lugar que queremos que se nos corte el codigo q estamos ejecutando

public void ModificarSolicitud(string SaltoPrograma)
{
if (SaltoPrograma == "SALTO_OTRA_INSCRIPCION")
goto SALTO_OTRA_INSCRIPCION;
if (cantidadCupos > TotalInscritos)
{

}
else
{
cupoCambio = cantidadCupos;
ViewState["cupoCambio"] = cupoCambio;
InscritoCambio = TotalInscritos;
ViewState["InscritoCambio"] = InscritoCambio;

string detalle = "";
Page.ClientScript.RegisterStartupScript(this.GetTy pe(), "ALGO", "javascript:PreguntaOtraInscripcion('No hay cupos suficiente, decea inscribir otra asignatura?, \\r " + detalle + " ¿Continúa? ');", true);
return;

}

SALTO_OTRA_INSCRIPCION:
Response.Redirect("Cons_OtroRamoSeccCarrRamo.aspx" );
}

Las variables fueron declaradas y obtenidas anteriormente, por si alguien se pregunta de donde salieron. Lo de color rojo es lo importante de lo anterior

y en el evento load del c# agregamos algo como lo siguiente

switch (Request.Form.Get("__EVENTO"))
{
case "PreguntaOtraInscripcion":
{
ModificarSolicitud((co_mt_alumno)ViewState["co_mt_solictramo"], "SALTO_OTRA_INSCRIPCION");
}
break;
}

Ahora les explico.

Cuando entra por primera ves al ModificaSolicitud, llega hasta el punto donde queremos enviar el mensaje, este llama a un javascript y este recarga la pantalla enviandole el parametro correspondiente que preguntara en el switch cual es que viene y redireccionara nuevamente en este caso al metodo donde estabamos pero como viene la variable que le seteamos antes, en el primer if nos mandara al goto que nos enviara a la parte que se debe ejecutar si la persona puso aceptar en el confir.

Espero lo entiendan, es un poco largo o tedioso de entender al principo pero funciona filete

Cualquier duda aqui las espero

Etiquetas: confirm, 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




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