Usuário com melhor resposta
Erro ao chamar Edit no MVC

Pergunta
-
Bom dia.
Estou usando MVC 3 com view engine Asp.Net, e utilizo POCO tambem.
Tenho este metodo na minha camada de Infra:
public Localidade retornaLocalidadePorId(int id) { var oLocalidade = (from c in _modeloContainer.Localidades where c.Id == id select c); return oLocalidade.FirstOrDefault(); }
Ao chamar no controller, faco assim:public ActionResult Edit(int id) { var localidade = _repositorio.retornaLocalidadePorId(id); return View("Edit",localidade); }
Estao em camadas diferentes.Quando a view Edit é chamada, ocorre o erro:
The model item passed into the dictionary is of type 'Dominio.Entidades.Localidade', but this dictionary requires a model item of type 'WebApp.Models.Localidade.Editar'.
Alguem pode ajudar??
Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
Respostas
-
Fala Junior,
Você não postou o código da sua View, mas ela deve estar tipada com "WebApp.Models.Localidade.Editar", mas você está passando para ela "Dominio.Entidades.Localidade".
Troque o tipo da View, ou então o objeto que está sendo passado pra ela...
Forte abraço
Forte abraço,
André Borges Medeiros
MCT, MCPD, MCTS
Procurando treinamento de ASP.NET MVC?
>> Se a resposta solucionar sua dúvida, favor Votar como Útil- Marcado como Resposta Edson de Oliveira Junior quinta-feira, 8 de dezembro de 2011 15:52
Todas as Respostas
-
Fala Junior,
Você não postou o código da sua View, mas ela deve estar tipada com "WebApp.Models.Localidade.Editar", mas você está passando para ela "Dominio.Entidades.Localidade".
Troque o tipo da View, ou então o objeto que está sendo passado pra ela...
Forte abraço
Forte abraço,
André Borges Medeiros
MCT, MCPD, MCTS
Procurando treinamento de ASP.NET MVC?
>> Se a resposta solucionar sua dúvida, favor Votar como Útil- Marcado como Resposta Edson de Oliveira Junior quinta-feira, 8 de dezembro de 2011 15:52
-
Segue codigo da View
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Rossi.Sistemas.Expedicao.WebApp.Models.Localidade.Editar>" %> <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> Edit </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <h2>Edit</h2> <script src="<%: Url.Content("~/Scripts/jquery.validate.min.js") %>" type="text/javascript"></script> <script src="<%: Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js") %>" type="text/javascript"></script> <% using (Html.BeginForm()) { %> <%: Html.ValidationSummary(true) %> <fieldset> <legend>Editar</legend> <%: Html.HiddenFor(model => model.Id) %> <div class="editor-label"> <%: Html.LabelFor(model => model.NomeLocalidade) %> </div> <div class="editor-field"> <%: Html.EditorFor(model => model.NomeLocalidade) %> <%: Html.ValidationMessageFor(model => model.NomeLocalidade) %> </div> <div class="editor-label"> <%: Html.LabelFor(model => model.Regional) %> </div> <div class="editor-field"> <%: Html.EditorFor(model => model.Regional) %> <%: Html.ValidationMessageFor(model => model.Regional) %> </div> <div class="editor-label"> <%: Html.LabelFor(model => model.Responsavel) %> </div> <div class="editor-field"> <%: Html.EditorFor(model => model.Responsavel) %> <%: Html.ValidationMessageFor(model => model.Responsavel) %> </div> <div class="editor-label"> <%: Html.LabelFor(model => model.HoraLimiteEnvio) %> </div> <div class="editor-field"> <%: Html.EditorFor(model => model.HoraLimiteEnvio) %> <%: Html.ValidationMessageFor(model => model.HoraLimiteEnvio) %> </div> <div class="editor-label"> <%: Html.LabelFor(model => model.PeriodicidadeId) %> </div> <div class="editor-field"> <%: Html.EditorFor(model => model.PeriodicidadeId) %> <%: Html.ValidationMessageFor(model => model.PeriodicidadeId) %> </div> <div class="editor-label"> <%: Html.LabelFor(model => model.Status) %> </div> <div class="editor-field"> <%: Html.EditorFor(model => model.Status) %> <%: Html.ValidationMessageFor(model => model.Status) %> </div> <p> <input type="submit" value="Save" /> </p> </fieldset> <% } %> <div> <%: Html.ActionLink("Back to List", "Index") %> </div> </asp:Content>
Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta. -