none
DropDownList sempre obrigatório RRS feed

  • Pergunta

  • Tenho um modelo chamado Pessoa criado pelo Entity Framework, nesse modelo ele faz referência a tabela PessoaSituacao. Na tela de cadastro de pessoa, coloquei um atributo da seguinte forma:

     
    <%= Html.LabelFor(m => m.PessoaSituacao) %>
    <%= Html.EditorFor(m => m.PessoaSituacao) %>
    <%= Html.ValidationMessageFor(m => m.PessoaSituacao, "*")%>
    

    Também criei um template para esse tipo de dado da seguinte forma:

    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyProject.Data.PessoaSituacao>" %>
    
    <%@ Import Namespace="MyProject.Mvc" %>
    
    <%= Html.DropDownListPessoaSituacao("IdPessoaSituacao", Model) %>
    

    O código que gera o DropDownList ficou assim:

    public static MvcHtmlString DropDownListPessoaSituacao(this HtmlHelper html, string name, PessoaSituacao selected)
    {
      MyEntities db = new MyEntities();
      SelectList list = new SelectList(db.PessoaSituacao.OrderBy(x => x.Nome), "IdPessoaSituacao", "Nome", selected == null ? -1 : selected.IdPessoaSituacao);
      return html.DropDownList(name, list, "-- selecionar --");
    }
    

    Porque eu não consigo postar o formulário com o valor do DropDownList sem estar selecionário já que no banco ele aceita null?
    sábado, 12 de dezembro de 2009 22:32

Respostas

  • Vinícius,

    Confira no modelo gerado se o campo está como Nullable. É possível que por ser uma foreign key, isso não esteja acontecendo.

    []'s
    Ricardo Serradas
    Team System in a nutshell - http://blog.ricardoserradas.net
    quinta-feira, 14 de janeiro de 2010 16:26