Entendi nada alguém pode me ajudar ?!
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,...