Entendi nada alguém pode me ajudar ?!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Entendi nada alguém pode me ajudar ?!
Oi Flávio!
O que você precisa fazer é entrar na pasta Models do seu projeto e criar uma classe com nome "Sexo", mas trocar a palavra-chave "class" por "enum" e criar os atributos como o exercício pede.
Depois vá na classe de Usuários e crie um atributo do tipo Sexo que criou, com os gets e sets necessários.
Entendeu?
Valew Erick, agora sim consegui.
Olá Eric,
poderia me dizer qme por favor como criar utilizar o HtmlHelper no Form, seria um DropDownList? tentei de várias vármas, com e sem Lambda e nao consegui entender. Obrigado
@Html.LabelFor(u => u.Sexo, "Sexo: ")
@Html.DropDownList("Sexo")
@Html.ValidationMessageFor(u => u.Sexo)
namespace LojaRazor.Models
{
public enum Sexo
{
Masculino,
Feminino
}
}
namespace LojaRazor.Models
{
public class Usuario
{
[Required]
public String Nome { get; set; }
[Required, EmailAddress]
public String Email { get; set; }
[Required] //ou sem?
public Sexo Sexo { get; set; }
Olá Graziela,
Você pode tentar criar a sua DropDownList com o HtmlHelper da seguinte forma:
@Html.DropDownListFor("u => u.Sexo",
new SelectList(Enum.GetValues(typeof(Sexo))),
"Selecione o Gênero");
Dessa forma você deve conseguir criar a DropDownList populada com o Enum que criou. Tenta fazer assim e depois me fala se conseguiu.
Atenciosamente,
Erick
Erick, deu o seguinte erro: Aviso de erro de compilacao :CS024: O tipo ou namespace 'Sexo' nao pode ser encontrado. (Falta uma directiva using ou uma referencia assembly?)
Compilerfehlermeldung: CS0246: Der Typ- oder Namespacename 'Sexo' konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)
Fonte de erro:
Zeile 16: @Html.ValidationMessageFor(u => u.Sexo)@ Zeile 17: Zeile 18: @Html.DropDownListFor("u => u.Sexo", new SelectList(Enum.GetValues(typeof(Sexo))), "Selecione o Gênero"); Zeile 19: Zeile 20: @Nome: *@
Fonte de dados: c:\Users\graziela\Desktop\Alura\ASP.NET Razor\LojaRazor\Views\Usuarios\Form.cshtml Zeile: 18
eu já havia tentado por o @@model LojaRazor.Models.Sexo@ mas tinha dado erro por ja existir o @model LojaRazor.Models.Usuario
Também recebo este erro no DropDownListFor: Error 2 The type arguments for method 'System.Web.Mvc.Html.SelectExtensions.DropDownListFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>, System.Collections.Generic.IEnumerable, string)' cannot be inferred from the usage. Try specifying the type arguments explicitly. c:\Users\graziela\Desktop\Alura\ASP.NET Razor\LojaRazor\Views\Usuarios\Form.cshtml 18 10 LojaRazor
O que pode estar mal? Só fiz um copy/paste de teu código acima :) Obrigado pela forca!!! :)
Graziela,
O que você pode tentar é incluir no topo do arquivo cshtml apenas o @model LojaRazor.Models.Usuario e no código pode deixar assim:
@Html.LabelFor(u => u.Sexo, "Gênero")
@Html.DropDownList("Sexo",
new SelectList(Enum.GetValues(typeof(Gender))),
"Gênero:",
new { @class = "form-control" })
@Html.ValidationMessageFor(u => u.Sexo)
Se caso não der certo, vou dar uma olhada para você depois. Estou no trabalho e só posso ver em casa, OK?
Oh Erick agradeco muito pela a ajuda,
Nao quero atrapalhar, por isto é para quando puderes claro :)
recebi o mesmo erro O tipo ou namespace 'Gender' nao pode ser encontrado. (Falta uma directiva using ou uma referencia assembly?)
Nunca tinha trabalhado com MVC antes e estou a pegar pratica de programacao deste genero aqui no Alura :)
Agradeco a ajuda para quando possas. Obrigadissimo
Estou tendo o mesmo problema no typeof(Gender)))
Já tentei Gender, Sexo,...