05/11/2014, 13:40
|
| | | Fecha de Ingreso: marzo-2014 Ubicación: Bogota- Colombia
Mensajes: 16
Antigüedad: 10 años, 8 meses Puntos: 0 | |
Respuesta: Problemas con codicionales tengo una función que al ingresar un código o un nombre haga una búsqueda por medio de un click en el boton, ya que por medio de condicionales si se cumple el if muestre una ventana con Ajax y traiga unos datos a esta ventana y si no ingresan nada pues lanze un alert, aquí viene el problema que parece ser y lo que he notado:
observo que ingresa al if y pinta el Ajax y valida bien, pero con los puntos de interrupción de firebug detecte que también entra al else y pues carga la ventana dialog pero en blanco.. sin datos.. creo que es por que manda el alert del else y este bloquea la otra ventana. ya que ingresa tanto al if como al else.
la segunda opción de falla puede ser que cuando le doy un click o cambio de vista y hago la búsqueda hace los mismo.. muestra la ventana en blanco .. ojo .. pero si hago de nuevo la búsqueda y le doy un click error luego le doy tecla esc y vuelvo y click a la busqueda.. allí me trae los datos correctos o cuando le doy f5 y vuelvo y hago la búsqueda allí también me trae los datos.. será la cache? ayuda...
aquí paso mas información, espero sea suficiente..
vista.
@model IEnumerable<SifActivoFijo.Models.GN_Portafolio>
<form class="items">
<label>items por Pagina: </label>
<select>
<option>5</option>
<option>10</option>
<option>15</option>
</select>
</form>
<input name="button" type="button" onclick="$('#dialog').dialog('close');" value="Cerrar" />
<table class="tablas">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.CodigoPortafolio)
</th>
<th>
@Html.DisplayNameFor(model => model.NombrePortafolio)
</th>
<th></th>
</tr>
</thead>
<tbody id="pagina">
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.CodigoPortafolio)
</td>
<td>
@Html.DisplayFor(modelItem => item.NombrePortafolio)
</td>
<td>
<input class="seleccion" type="button" value="Seleccionar" />
</td>
</tr>
}
</tbody>
</table>
<div class="holder"></div>
<script type="text/javascript">
$(document).ready(function () {
$('input.seleccion').click(function () {
var codigo = $(this).parent().prev().prev();
var nombre = $(this).parent().prev();
$('#activoFijo_GN_Portafolio_CodigoPortafolio').va l($.trim(codigo.text()));
$('#GN_Portafolio_CodigoPortafolio').val($.trim(co digo.text()));
$('#nombrePortafolio').val($.trim(nombre.text()));
$("#activoFijo_DescripcionActivoFijo").val($.trim( nombre.text()));
document.getElementById("dialog").innerHTML = '<div id="progressbar" class="progressbar" style="display: none;"></div>';
$("#dialog").dialog('close');
});
});
</script>
controlador
[HttpPost]
public ActionResult BusquedaProducto(string productoNombre, string identidad)
{
if (productoNombre.Equals(""))
{
if (identidad.Equals(""))
{
return HttpNotFound();
}
else
{
var code = (from p in db.GN_Portafolio
where p.CodigoPortafolio.StartsWith(identidad) && p.SenSerial == true
select p).ToList();
if (code.Equals("0"))
{
return HttpNotFound();
}
else
{
return View(code);
}
}
}
else
{
var producto = (from p in db.GN_Portafolio
where p.NombrePortafolio.StartsWith(productoNombre)
select p).ToList().Take(100);
if (producto.Equals("0"))
{
return HttpNotFound();
}
else
{
return View(producto);
}
}
}
Última edición por ERIKPUGO; 06/11/2014 a las 10:12 |