How to load a partialview for an AJAX request? [closed]

1

I can not load a partialview into a div!

     <fieldset>
<legend>Contato:</legend>
@Html.Label("Tipo Contato: ")
@Html.DropDownListFor(t => t.CodTipoContato, Model.TipoContatoList, new { id = "tipoContato", name = "tipoContato", onchange = "CarregarPartialView()" })

      <div id="result">
   @if(Model!=null)
   {        
        if (Model.CodTipoContato == 10)
        {
            Html.RenderPartial("_ContatoEmailFields");

        }
        else if(Model.CodTipoContato==0)
        {
            Html.RenderPartial("_EmptyView");

        }

        else
        {
            Html.RenderPartial("_ContatoTelefoneFields");
        }
   }

   <script type="text/javascript">
      function CarregarPartialView(CodTipoContato){        
       var codTipoContato = $("#tipoContato").val();            
        $.ajax(
        {
        type: "GET",
        url: "TipoContato",
        data: "CodTipoContato="+codTipoContato,           
        sucess: function (result) { $('#resultado').html(result)}
         });
        };
     </script>

    public PartialViewResult TipoContato(int CodTipoContato)
    {
        var tcList = ConsultaRepositorio.ObterTipoContato();
        var codTipoContato = CodTipoContato;
        var tipoContatoVM = new SuperViewModel()
        {
            TipoContatoList = Extentions.ObterTipoContatosList(tcList),
            CodTipoContato=codTipoContato
        };
        return PartialView("_ContatoFields",tipoContatoVM);
    }
    
asked by anonymous 27.01.2015 / 14:51

1 answer

0

In your case, do not use it like this:

Html.RenderPartial("_ContatoEmailFields");

Use this:

Html.Partial("_ContatoEmailFields");

I explain this in this answer .

    
27.01.2015 / 15:58