I'm new here and also new to the ASP.NET universe. I'm having a hard time creating a DropDownList
for a form on a web page with ASP.NET MVC and C # .
I made a user registration form and one of the items needs to be DropDownList
with the following options: Administrator, Librarian, Teacher and Student, with the ID
that each option has will be registered in the database SQLServer .
I saw some examples right here and on the net, but I still have not figured out how to do this.
I have the Model, Controller and Views already done, just wanted to know what I should put in each to run the DropDownList .
Model:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
namespace ProjetoBiblio.Models
{
public class CadastroUser
{
/* DECLARAÇÃO DAS VARIÁVEIS */
private int id_user, num_casa;
private string tipo_user, cep, senha, cpf, nome, rua, complemento, bairro, cidade, estado, tel_resid, tel_cel, curso, turma;
/* DECLARAÇÃO DOS GETTERS E SETTERS */
[DisplayName("ID Usuário")]
public int Id_User
{
get { return id_user; }
set { id_user = value; }
}
[DisplayName("Tipo de usuário")]
public string Tipo_user
{
get { return tipo_user; }
set { tipo_user = value; }
}
[DisplayName("Senha")]
public string Senha
{
get { return senha; }
set { senha = value; }
}
[DisplayName("Nome")]
public string Nome
{
get { return nome; }
set { nome = value; }
}
[DisplayName("CPF")]
public string Cpf
{
get { return cpf; }
set { cpf = value; }
}
[DisplayName("CEP")]
public string Cep
{
get { return cep; }
set { cep = value; }
}
[DisplayName("Rua")]
public string Rua
{
get { return rua; }
set { rua = value; }
}
[DisplayName("Número")]
public int Num_casa
{
get { return num_casa; }
set { num_casa = value; }
}
[DisplayName("Complemento")]
public string Complemento
{
get { return complemento; }
set { complemento = value; }
}
[DisplayName("Bairro")]
public string Bairro
{
get { return bairro; }
set { bairro = value; }
}
[DisplayName("Cidade")]
public string Cidade
{
get { return cidade; }
set { cidade = value; }
}
[DisplayName("Estado")]
public string Estado
{
get { return estado; }
set { estado = value; }
}
[DisplayName("Telefone Residencial")]
public string Tel_resid
{
get { return tel_resid; }
set { tel_resid = value; }
}
[DisplayName("Telefone Celular")]
public string Tel_cel
{
get { return tel_cel; }
set { tel_cel = value; }
}
[DisplayName("Curso")]
public string Curso
{
get { return curso; }
set { curso = value; }
}
[DisplayName("Turma")]
public string Turma
{
get { return turma; }
set { turma = value; }
}
/* CRIAÇÃO DA CONEXÃO COM O BANCO DE DADOS */
static SqlConnection connect = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectBD"].ConnectionString);
/* MÉTODO PARA CADASTRAR USUARIO */
internal string Cadastro()
{
try
{
/*ABRIR A CONEXÃO COM O BD */
connect.Open();
/* COMANDO PARA INSERIR AS INFORMAÇÕES NO BD */
SqlCommand queryInsert = new SqlCommand("INSERT INTO USUARIOS VALUES(@tipo_usuario, @senha, @nome, @cpf, @cep, @rua, @numero_casa, @complemento, @bairro, @cidade, @estado, @tel_resid, @tel_cel, @curso, @turma);", connect);
/* ATRIBUIR OS PARÂMETROS PARA CADA CAMPO NO BD */
queryInsert.Parameters.AddWithValue("@tipo_usuario", tipo_user);
queryInsert.Parameters.AddWithValue("@senha", senha);
queryInsert.Parameters.AddWithValue("@nome", nome);
queryInsert.Parameters.AddWithValue("@cpf", cpf);
queryInsert.Parameters.AddWithValue("@cep", cep);
queryInsert.Parameters.AddWithValue("@rua", rua);
queryInsert.Parameters.AddWithValue("@numero_casa", num_casa);
queryInsert.Parameters.AddWithValue("@complemento", complemento);
queryInsert.Parameters.AddWithValue("@bairro", bairro);
queryInsert.Parameters.AddWithValue("@cidade", cidade);
queryInsert.Parameters.AddWithValue("@estado", estado);
queryInsert.Parameters.AddWithValue("@tel_resid", tel_resid);
queryInsert.Parameters.AddWithValue("@tel_cel", tel_cel);
queryInsert.Parameters.AddWithValue("@curso", curso);
queryInsert.Parameters.AddWithValue("@turma", turma);
/* EXECUTA O COMANDO PARA INSERIR AS INFORMAÇÕES NO BD */
queryInsert.ExecuteNonQuery();
}
/* CASO DÊ ERRO, APRESENTA A MENSAGEM */
catch (Exception error)
{
return error.Message;
}
/* VERIFICA SE A CONEXÃO AINDA ESTÁ ABERTA */
if (connect.State == System.Data.ConnectionState.Open)
{
connect.Close();
}
/* RETORNA MENSAGEM INFORMANDO QUE O CADASTRO DEU CERTO */
return "Usuário cadastrado com sucesso!";
}
/* MÉTODO PARA CRIAR A LISTA DE USUÁRIOS */
public static List<CadastroUser> Listar()
{
/* CRIAÇÃO DA LIST PARA ARMAZENAR OS DADOS DO BANCO DE DADOS */
List<CadastroUser> listaCad = new List<CadastroUser>();
/* TENTATIVA DE RESGATAR OS DADOS DO BANCO DE DADOS */
try
{
/* ABRIR CONEXÃO COM O BANCO DE DADOS */
connect.Open();
/* COMANDO SQL PARA EXECUTAR NO BANCO */
SqlCommand querySelect = new SqlCommand("SELECT * FROM USUARIOS", connect);
/* EXECUTAR O COMANDO */
SqlDataReader read = querySelect.ExecuteReader();
/* OBTER AS INFORMAÇÕES DO BANCO DE DADOS PARA INSERIR NA LIST */
while (read.Read())
{
/* CRIAÇÃO DO OBJETO ESPECIALIDADE */
CadastroUser c = new CadastroUser();
/* ADICIONAR OS VALORES NOS CAMPOS DA LIST */
c.Id_User = int.Parse(read["ID_USUARIO"].ToString());
c.Tipo_user = read["TIPO_USUARIO"].ToString();
c.Senha = read["SENHA"].ToString();
c.Nome = read["NOME"].ToString();
c.Cpf = read["CPF"].ToString();
c.Cep = read["CEP"].ToString();
c.Rua = read["RUA"].ToString();
c.Num_casa = int.Parse(read["NUMERO_CASA"].ToString());
c.Complemento = read["COMPLEMENTO"].ToString();
c.Bairro = read["BAIRRO"].ToString();
c.Cidade = read["CIDADE"].ToString();
c.Estado = read["ESTADO"].ToString();
c.Tel_resid = read["TEL_RESID"].ToString();
c.Tel_cel = read["TEL_CEL"].ToString();
c.Curso = read["CURSO"].ToString();
c.Turma = read["TURMA"].ToString();
/* ADICIONAR AS INFORMAÇÕES NA LIST */
listaCad.Add(c);
}
}
/* CASO DE ERRO, APRESENTAR A LIST VAZIA */
catch (Exception error)
{
listaCad = new List<CadastroUser>();
}
/* FECHAR A CONEXÃO COM O BANCO DE DADOS */
if (connect.State == System.Data.ConnectionState.Open)
{
connect.Close();
}
/* RETORNAR A INFORMAÇÃO CASO ESTEJA OK */
return listaCad;
}
/* MÉTODO PARA BUSCAR OS DADOS DO CADASTRO E INSERIR NO FORMULÁRIO */
public static CadastroUser BuscaCad(int id)
{
CadastroUser c = new CadastroUser();
try
{
connect.Open();
SqlCommand query = new SqlCommand("SELECT * FROM USUARIOS WHERE ID_USUARIO = @id_user", connect);
query.Parameters.AddWithValue("@id_user", id);
SqlDataReader read = query.ExecuteReader();
while (read.Read())
{
c.Id_User = int.Parse(read["ID_USUARIO"].ToString());
c.Tipo_user = read["TIPO_USUARIO"].ToString();
c.Senha = read["SENHA"].ToString();
c.Nome = read["NOME"].ToString();
c.Cpf = read["CPF"].ToString();
c.Cep = read["CEP"].ToString();
c.Rua = read["RUA"].ToString();
c.Num_casa = int.Parse(read["NUMERO_CASA"].ToString());
c.Complemento = read["COMPLEMENTO"].ToString();
c.Bairro = read["BAIRRO"].ToString();
c.Cidade = read["CIDADE"].ToString();
c.Estado = read["ESTADO"].ToString();
c.Tel_resid = read["TEL_RESID"].ToString();
c.Tel_cel = read["TEL_CEL"].ToString();
c.Curso = read["CURSO"].ToString();
c.Turma = read["TURMA"].ToString();
}
}
catch (Exception e)
{
c = null;
}
if (connect.State == ConnectionState.Open)
connect.Close();
return c;
}
/* MÉTODO PARA DELETAR INFORMAÇÕES DO BD */
internal string Deletar()
{
/* MENSAGEM PRÉ DEFINIDA CASO O COMANDO DÊ CERTO */
string resp = "Removido com sucesso!";
/* TENTATIVA DE REALIZAR O DELETE NO BD */
try
{
/* ABRE A CONEXÃO COM O BD */
connect.Open();
/* COMANDO SQL PARA EXECUTAR NO BANCO */
SqlCommand queryDelete = new SqlCommand("DELETE FROM USUARIOS WHERE ID_USUARIO = @id_user;", connect);
/* ATRIBUIR UM PARÂMETRO PARA O CAMPO DO BD */
queryDelete.Parameters.AddWithValue("@id_user", id_user);
/* EXECUTA O COMANDO NO BD */
queryDelete.ExecuteNonQuery();
}
/* CASO APRESENTE ALGUM ERRO, MOSTRARÁ A MSG DE ERRO */
catch(Exception error)
{
resp = error.Message;
}
/* VERIFICA SE A CONEXÃO AINDA ESTÁ ABERTA, SE ESTIVER, IRÁ FECHAR */
if(connect.State == System.Data.ConnectionState.Open)
{
connect.Close();
}
/* CASO O COMANDO TENHA SIDO EXECUTADO COM SUCESSO, APRESENTA A MSG */
return resp;
}
/* MÉTODO PARA EDITAR UM USUÁRIO */
internal string Editar()
{
/* MENSAGEM PRÉ DEFINIDA CASO O COMANDO DÊ CERTO */
string resp = "Usuário salvo!";
/* TENTATIVA DE REALIZAR UM UPDATE NA TABELA */
try
{
/* ABRIR A CONEXÃO COM O BD */
connect.Open();
/* COMANDO SQL PARA EDITAR OS DADOS */
SqlCommand queryUpdate = new SqlCommand("UPDATE USUARIOS SET TIPO_USUARIO = @tipo_usuario, SENHA = @senha, NOME = @nome, CPF = @cpf, CEP = @cep, RUA = @rua, NUMERO_CASA = @numero_casa, COMPLEMENTO = @complemento, BAIRRO = @bairro, CIDADE = @cidade, ESTADO = @estado, TEL_RESID = @tel_resid, TEL_CEL = @tel_cel, CURSO = @curso, TURMA = @turma;", connect);
/* ATRIBUIR OS PARÂMETROS PARA CADA CAMPO NO BD */
queryUpdate.Parameters.AddWithValue("@tipo_usuario", tipo_user);
queryUpdate.Parameters.AddWithValue("@senha", senha);
queryUpdate.Parameters.AddWithValue("@nome", nome);
queryUpdate.Parameters.AddWithValue("@cpf", cpf);
queryUpdate.Parameters.AddWithValue("@cep", cep);
queryUpdate.Parameters.AddWithValue("@rua", rua);
queryUpdate.Parameters.AddWithValue("@numero_casa", num_casa);
queryUpdate.Parameters.AddWithValue("@complemento", complemento);
queryUpdate.Parameters.AddWithValue("@bairro", bairro);
queryUpdate.Parameters.AddWithValue("@cidade", cidade);
queryUpdate.Parameters.AddWithValue("@estado", estado);
queryUpdate.Parameters.AddWithValue("@tel_resid", tel_resid);
queryUpdate.Parameters.AddWithValue("@tel_cel", tel_cel);
queryUpdate.Parameters.AddWithValue("@curso", curso);
queryUpdate.Parameters.AddWithValue("@turma", turma);
/* EXECUTA O COMANDO PARA INSERIR AS INFORMAÇÕES NO BD */
queryUpdate.ExecuteNonQuery();
}
/* CASO APRESENTE ALGUM ERRO, MOSTRARÁ A MSG DE ERRO */
catch (Exception error)
{
resp = error.Message;
}
/* VERIFICA SE A CONEXÃO AINDA ESTÁ ABERTA, SE ESTIVER, IRÁ FECHAR */
if (connect.State == System.Data.ConnectionState.Open)
{
connect.Close();
}
/* CASO O COMANDO TENHA SIDO EXECUTADO COM SUCESSO, APRESENTA A MSG */
return resp;
}
}
}
View:
<div class="form-horizontal" style="margin-left: 150px; margin-top: 75px;">
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Tipo_user, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-5">
@Html.EditorFor(model => model.Tipo_user, new { htmlAttributes = new { @class = "form-control form-inline" } })
@Html.ValidationMessageFor(model => model.Tipo_user, "", new { @class = "text-danger" })
</div>
</div>