Comunidad de diseño web y desarrollo en internet online

Cuando cambio de vista la ventana modal ya no trae los datos.http://fo

Citar            
MensajeEscrito el 25 Nov 2014 02:03 pm
Buenos dias,

Mi problemas es el siguiente, espero me entiendan, Trabajo con mvc , cuando entro a mi aplicacion y voy a mi modulo llamado seriales hay una Busqueda con un boton, le doy click y me trae la ventana MODAL en blanco sin datos, la actualizo o le doy esc y vuelvo a darle click en la opcion de busqueda y alli si me trae los datos, tambien cuando me voy a otro modulo como crear activos y alli esta la misma busqueda que llama la misma funcion y le doy click .. de nuevo trae ventana en blanco, vuelvo y le actualizo o esc y vuelvo a darle click y alli si me trae los datos, eso pasa cuando cambio de modulos y hago las busquedas , en el primer click error, actualizo y segundo click o.k me trae los datos. Ya he buscado mucho, unos me dicen que "Estoy utilizando el tipo de retorno Action Result en el lado del servidor, que cambie los metodos a JqueryResult" OTROS me dicen que es la cache, Otros que llame los datos con Json.. esto lo he hecho pero nada. les voy a poner el codigo y la imagen del problema.. ESPERO ME AYUDEN.

LA FUNCION: busca por producto o entidad.

Código Javascript :

function buscaProducto(url, cod, name) {

         if (cod.length != 0 || name.length != 0) {
             var producto = name;
             var identidad = cod;
             $.ajax({

                 url: url,
                 type: "POST",
                 dataType: "html",
                 error: AjaxFailure,
                 beforeSend: AjaxBegin,
                 data: { productoNombre: producto, identidad: identidad },
                 success: function (data) {
                     $("#dialog").dialog({
                         bigframe: true,
                         modal: true,
                         autoOpen: true,
                         width: 900,
                         heigth: 700,
                         resizable: false
                     });
                     $("#progressbar").hide();
                     $("#dialog").html(data);
                     console.log("Entregó los datos al #dialog");
                 }

             });
         }
         else {
             alert("<p>Debe ingresar una opcion de busqueda</p>", $(window).height() / 3)
             this.abort();
         }
     }


EL CONTROLADOR: Encargado de hacer mi parte logica

Código :

  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);
                 }
             }

         }

LA VISTA CREAR: Aqui es donde me pinta el HTML

Código HTML :

<div class="separadores">
             <div class="flota">
                 <div class="editor-label">
                     @Html.LabelFor(model => model.GN_Portafolio_CodigoPortafolio)
                 </div>
                 <div class="editor-field">
                     @Html.TextBoxFor(model => model.GN_Portafolio_CodigoPortafolio, new { placeholder = "Codigo", @class = "text-box single-line" })
                     @Html.ValidationMessageFor(model => model.GN_Portafolio_CodigoPortafolio, "", new { @class = "validate" })
                     <div id="com"></div>
                 </div>
             </div>
             <div class="flota">
                 <div class="editor-field-largo">
                     <p class="space"></p>
                     <input id="nombrePortafolio" type="text" name="nombrePortafolio" placeholder="Nombre" />
                     <input id="cargarPortafolio" class="buscar" type="button" value=" "onclick="buscaProducto('@Url.Action("BusquedaProducto","LO_Serial")',$('#GN_Portafolio_CodigoPortafolio').val(),$('#nombrePortafolio').val());" />
                 </div>
             </div>
         </div>


y FINALMENTE MI VISTA Busqueda Producto que es la encargada de llevar los datos.


Código HTML :

@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();
                 $('#GN_Portafolio_CodigoPortafolio').val($.trim(codigo.text()));
                 $('#nombrePortafolio').val($.trim(nombre.text()));
                 document.getElementById("dialog").innerHTML = '<div id="progressbar" class="progressbar" style="display: none;"></div>';
                 $("#dialog").dialog('close');
             });
         });

Por erikpugo

0 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 25 Nov 2014 03:14 pm

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.