none
dropdownlist de um enum em API RRS feed

  • Pergunta

  • Tenho uma solução onde tenho 2 projetos (API e MVC) no API na classe Usuario criei um enum categoria e preciso carregar essa categoria em um dropdownlist no create do usuário e não estou conseguindo fazer isso.

    public enum categoria
     {
        Urbano = 1,
        Metropolitano = 2
        
     }


    Junior

    terça-feira, 9 de maio de 2017 13:03

Respostas

  • Dê uma conferida no seu código, pois na pergunta original seu enum se chama categoria, já no GetNames você informa Categoriausuario como nome do enum (o tipo e não uma variável).

    O código abaixo foi testado e funciona, então veja se o seu está similar:

    using System;
    using System.Linq;
    					
    public class Program
    {
    	enum Categoriausuario
    	{
    		CatA = 1,
    		CatB = 2
    	}
    	
    	public static void Main()
    	{
    		var nomes = Enum.GetNames(typeof(Categoriausuario)).ToList();
    		
    		
    		foreach (var a in nomes)
    		{
    			Console.WriteLine(a);
    		}
    	}
    }


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    • Marcado como Resposta Junior_luiz sexta-feira, 12 de maio de 2017 15:02
    quinta-feira, 11 de maio de 2017 11:52

Todas as Respostas

  • Tente usando o código desta thread do StackOverflow: http://stackoverflow.com/a/1167367/1184708

    Basicamente ele converte o enum em lista.


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    terça-feira, 9 de maio de 2017 19:28
  • Juliano obrigado por responder, mais qdo vou na API criar um metodo para exibir o enum não reconhece dá erro.

    nunca usei enum e criei na classe(usuario) é isso mesmo ou tenho que criar uma classe em separado somente para o enum ?

    public async Task<IHttpActionResult> Getcategoria()
            {
                try
                {
                     return Ok(Enum.GetNames(typeof(Categoriausuario)).ToList());
                }
                catch (Exception ex)
                {
                    return BadRequest(ex.Message);
                }
            }

    Não reconhece Categoriausuario

     

    Junior

    quarta-feira, 10 de maio de 2017 12:20
  • Categoriausuario está no mesmo projeto da API (ou em um projeto referenciado)? O modificador de acesso está como public ou protected?

    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quarta-feira, 10 de maio de 2017 14:53
  • public e está no projeto API 

    Projeto.API.Models.Entities.USUARIO.Categoriausuario


    Junior

    quarta-feira, 10 de maio de 2017 16:58
  • Dê uma conferida no seu código, pois na pergunta original seu enum se chama categoria, já no GetNames você informa Categoriausuario como nome do enum (o tipo e não uma variável).

    O código abaixo foi testado e funciona, então veja se o seu está similar:

    using System;
    using System.Linq;
    					
    public class Program
    {
    	enum Categoriausuario
    	{
    		CatA = 1,
    		CatB = 2
    	}
    	
    	public static void Main()
    	{
    		var nomes = Enum.GetNames(typeof(Categoriausuario)).ToList();
    		
    		
    		foreach (var a in nomes)
    		{
    			Console.WriteLine(a);
    		}
    	}
    }


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    • Marcado como Resposta Junior_luiz sexta-feira, 12 de maio de 2017 15:02
    quinta-feira, 11 de maio de 2017 11:52