none
MVC - EditorTemplates - Não retorna Model RRS feed

  • Pergunta

  • Bom dia!

    Criei um editor template para endereço, ele esta funcionando para popular a tela. A situação que não consigo revolver e no momento de salvar os dados a MODEL de Endereço vêm em branco do HTML.

    Chamada do Editor

    @Html.Partial("~/Views/Shared/EditorTemplates/Endereco.cshtml", @Model.endereco);

    View Principal

     @using (Html.BeginForm())
        {
            @Html.AntiForgeryToken() 
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })
            @Html.HiddenFor(model => model.idEmpresa)
    
            <div class="col-sm-12">
                <div class="data-block main-box clearfix portlet">
                    <section>
                        <div class="form-horizontal" style="white-space: nowrap;">
                            <div class="form-group">
                                @*Razao Social*@
                                <div class="col-lg-7">
                                    @Html.LabelFor(model => model.razaoSocial, htmlAttributes: new { @class = "control-label" })
                                    @Html.EditorFor(model => model.razaoSocial, new { htmlAttributes = new { @class = "form-control input" } })
                                    @Html.ValidationMessageFor(model => model.razaoSocial, "", new { @class = "text-danger" })
                                </div>
    
                                @*Nome Fantasia*@
                                <div class="col-lg-5">
                                    @Html.LabelFor(model => model.nomeFantasia, htmlAttributes: new { @class = "control-label" })
                                    @Html.EditorFor(model => model.nomeFantasia, new { htmlAttributes = new { @class = "form-control input" } })
                                    @Html.ValidationMessageFor(model => model.nomeFantasia, "", new { @class = "text-danger" })
                                </div>                        
    
                            </div>
    
                        </div>                 
    
                        <div class="form-horizontal" style="white-space: nowrap;">
    
                            <div class="form-group">
    
                                @Html.Partial("~/Views/Shared/EditorTemplates/Endereco.cshtml", @Model.endereco);                                                
    
                                <div class="col-lg-3">
                                    @Html.LabelFor(model => model.complemento, htmlAttributes: new { @class = "control-label" })
                                    @Html.EditorFor(model => model.complemento, new { htmlAttributes = new { @class = "form-control input" } })
                                    @Html.ValidationMessageFor(model => model.complemento, "", new { @class = "text-danger" })
                                </div>
    
                            </div>
    
                            <div class=""><br /></div>
    
                            <div class="form-group">
                                <div class="col-lg-12">
                                    <input type="submit" value="Gravar alterações da empresa" class="btn btn-info pull-right" />
                                </div>
                            </div>
    
                        </div>
    
                    </section>
                </div>
            </div>

    View Endereço

    @model MyApp.WebApp.Models.DatabaseModels.Endereco
        <div>
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })        
                <div class="col-lg-2">
                    @Html.LabelFor(model => model.cep, htmlAttributes: new { @class = "control-label" })
                    @Html.EditorFor(model => model.cep, new { htmlAttributes = new { @class = "form-control endereco-cep" } })
                    @Html.ValidationMessageFor(model => model.cep, "", new { @class = "text-danger" })
                    <input type="button" onclick="GetDetalhesCEP()" value="Buscar CEP" />
                </div>
    
                <div class="col-lg-7">
                    @Html.LabelFor(model => model.nomeLogradouro, htmlAttributes: new { @class = "control-label" })
                    @Html.EditorFor(model => model.nomeLogradouro, new { htmlAttributes = new { @class = "form-control", @disabled = "disabled" } })
                    @Html.ValidationMessageFor(model => model.nomeLogradouro, "", new { @class = "text-danger" })
                </div>
    
                <div class="col-lg-3">
                    @Html.LabelFor(model => model.nomeBairro, htmlAttributes: new { @class = "control-label" })
                    @Html.EditorFor(model => model.nomeBairro, new { htmlAttributes = new { @class = "form-control", @disabled = "disabled" } })
                    @Html.ValidationMessageFor(model => model.nomeBairro, "", new { @class = "text-danger" })
                </div>
    
                <div class="col-lg-3">
                    @Html.LabelFor(model => model.cidade.nome, htmlAttributes: new { @class = "control-label" })
                    @Html.EditorFor(model => model.cidade.nome, new { htmlAttributes = new { @class = "form-control", @disabled = "disabled" } })
                    @Html.ValidationMessageFor(model => model.cidade.nome, "", new { @class = "text-danger" })
                </div>
    
                <div class="col-lg-1">
                    @Html.LabelFor(model => model.cidade.unidadeFederativa.sigla, htmlAttributes: new { @class = "control-label" })
                    @Html.EditorFor(model => model.cidade.unidadeFederativa.sigla, new { htmlAttributes = new { @class = "form-control", @disabled = "disabled" } })
                    @Html.ValidationMessageFor(model => model.cidade.unidadeFederativa.sigla, "", new { @class = "text-danger" })
                </div>
        </div>
    
    
    @section Scripts {
        @Scripts.Render("~/bundles/jqueryval")
        @Scripts.Render("~/Scripts/custom/get-address-details.js")
    }
    

    Retorno da Model Controller na leitura

    

    No momento que clico em Gravar a Model do Endereço vêm vazio. 

    Onde que estou errando?

    sábado, 14 de março de 2015 13:19

Todas as Respostas

  • Olá Genomax

    Já tentou utilizar

    @Html.EditorFor(model => model.Endereco,"Endereco") ? //Se o teu Editor Template estiver na pasta correta, irá reconhecer, rs

    sexta-feira, 27 de março de 2015 01:30