Igor Soto 0 Denunciar post Postado Janeiro 3, 2011 Boa tarde pessoal, estou com o seguinte problema: No banco tenho a relação das tabelas Usuario x Profissao, agora no ASP.NET C#: public class UsuarioController : Controller { public ActionResult Inserir() { return View(); } [HttpPost] public ActionResult Inserir(Usuario itemUsuario) { if (ModelState.IsValid) { using (MyEntities entities = new MyEntities()) { itemUsuario.Profissao = entities.Profissao.Where(p => p.IdProfissao == itemUsuario.Profissao.IdProfissao).First(); entities.AddToUsuario(itemUsuario); entities.SaveChanges(); } return Redirect("/usuario/cadastro_sucesso/"); } } // Agora se eu trocar o método acima que não está funcionando, pelo de baixo, funciona, segue: [HttpPost] public ActionResult Inserir(Usuario itemUsuario) { if (ModelState.IsValid) { using (MyEntities entities = new MyEntities()) { Usuario newUsuario = new Usuario(); newUsuario.Nome = itemUsuario.Nome; newUsuario.Telefone = itemUsuario.Telefone; newUsuario.Profissao = entities.Profissao.Where(p => p.IdProfissao == itemUsuario.Profissao.IdProfissao).First(); entities.AddToUsuario(newUsuario); entities.SaveChanges(); } return Redirect("/usuario/cadastro_sucesso/"); } } } Minha View: <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/MasterPage.Master" Inherits="System.Web.Mvc.ViewPage<MyApp.Models.Usuario>" %> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <% using (Html.BeginForm()){ %> <p> <%= Html.LabelFor(model => model.Nome) %> <%= Html.TextBoxFor(model => model.Nome)%> <span class="validation_message"> <%= Html.ValidationMessageFor(model => model.Nome)%> </span> </p> <p> <%= Html.LabelFor(model => model.Telefone) %> <%= Html.TextBoxFor(model => model.Telefone)%> <span class="validation_message"> <%= Html.ValidationMessageFor(model => model.Telefone)%> </span> </p> <p> <%= Html.LabelFor(model => model.Profissao.IdProfissao)%> <%= Html.DropDownListFor(model => model.Profissao.IdProfissao, ProfissaoRepository.GetDropDownList()) %> <span class="validation_message"> <%= Html.ValidationMessageFor(model => model.Profissao.IdProfissao)%> </span> </p> <p><input type="submit" value="Cadastrar" /></p> <% } %> </asp:Content> ----- Alguém tem uma idéia porque o primeiro método não funciona e o segundo sim, o que estou fazendo de errado? Muito Obrigado desde já. podem deixar, o código está correto, já achei a falha aqui. Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Janeiro 4, 2011 Igor, por getileza, poste o que faltava para que outros possam sanar a mesma dúvida. Compartilhar este post Link para o post Compartilhar em outros sites