none
Ajax.BeginForm no renderiza una PartialView en MVC4 RRS feed

  • Pregunta

  • Hola, realmente no encuentro el problema de poder renderizar una partialView en una View que utiliza Ajax.BeginForm. El problema es que la partialView la renderiza como una View-Los scripts que inclui son:

       
            @Scripts.Render("~/Scripts/bundles/jquery-1.10.0.js") 
            @Scripts.Render("~/Scripts/bundles/jquery.unobtrusive-ajax.js") 
            
    
              @Scripts.Render("~/Scripts/bundles/jquery-ui-1.10.0.js") 
    
            @Scripts.Render("~/Scripts/bundles/jquery.jtable.js")
               @Scripts.Render("~/Scripts/bundles/jquery.jtable.es.js")
              
            @Scripts.Render("~/Scripts/bundles/jquery.validate.js") 
            @Scripts.Render("~/Scripts/bundles/jquery.validate.unobtrusive.js") 
             @Scripts.Render("~/Scripts/bundles/DatePickerReady.js") 
            @Scripts.Render("~/Scripts/bundles/modernizr-2.5.3.js")
           

    La vista principal:

      
     <div id="IppDetalle">
              
             </div>
            
          @using(Ajax.BeginForm("IPPDetail", new AjaxOptions {UpdateTargetId = "IppDetalle",
               InsertionMode = InsertionMode.InsertAfter,
               HttpMethod = "POST"
          }))
    
    

    Y el controller donde esta el action IPPDetail:

     [HttpPost]
            public ActionResult IPPDetail(IPP ipp)
            {
                string nro = ipp.IPP1.ToString();
                string num = nro;
    
                if (nro != null)
                {
                    ViewBag.TitularUFI = "Cecilia rtrffff";
                  /*  ObtenerIPPSimp(ipp.IPP1 , ipp);*/
                    ViewBag.idEtapaIPP = new SelectList(db.ClaseEtapaIPPs, "id", "Descripcion", ipp.idEtapaIPP);
                    ViewBag.idFormaInicio = new SelectList(db.ClaseFormaInicios, "id", "Descripcion", ipp.idFormaInicio);
                    ViewBag.idIncompetencia = new SelectList(db.ClaseIncompetencias, "id", "Descripcion", ipp.idIncompetencia);
                    ViewBag.TipoIPP = new SelectList(db.ClaseIPPs, "id", "Descripcion", ipp.TipoIPP);
                    ViewBag.idTipoArchivo = new SelectList(db.ClaseArchivo, "id", "descripcion", ipp.idTipoArchivo);
               
                }
    
                return PartialView(); 
    
               
            }
    

    La partial view

    @model SIACGral.Models.IPP
    
    @{Html.EnableClientValidation();}
    @{Html.EnableUnobtrusiveJavaScript();}
    
    @using (Html.BeginForm())
    {
        
        @Html.ValidationSummary(true)
    <fieldset>
        <table>
        <tr>
           ...................

    En el web.config:

     <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
      </appSettings>

    Y estoy usando jquery 1.10 porque en la version 1.9.0 lei que tiene problemas.

    Muchas gracias de antemano.

    CECI


    viernes, 31 de mayo de 2013 14:27

Todas las respuestas

  • Lo solucione actualizando la libreria

    http://nuget.org/packages/Microsoft.jQuery.Unobtrusive.Ajax/

    <hgroup class="page-heading">

    Microsoft jQuery Unobtrusive Ajax

    2.0.30506.0

    </hgroup>

    Solucionado porque jquery 1.9 en adelante actualizo la funcion live() por on().

    En este plugin lo modificaron las llamadas a live() por on()
    <hgroup class="page-heading"></hgroup>

    viernes, 31 de mayo de 2013 16:55