Ticker

6/recent/ticker-posts

ASP.NET Core - Drop-Down List con SQL Server y ADO.Net


Requisitos:

  • ASP.NET Core, C# y ADO.Net.
  • Microsoft SQL Server 2019.
  • Microsoft Visual Studio Community 2019.

Lo que se vera en este tutorial:

  1. Conceptos básicos.
  2. Creación de la tabla NivelSeguridad.
  3. Creación del Modelo ClsNivelSeguridad.
  4. Creación del Controlador HomeController.
  5. Creación de la Vista Index.
  6. Conclusiones y Referencias.

① Conceptos básicos:

¿Qué es ASP.Net Core?

Framework de código abierto y multiplataforma para la creación de aplicaciones modernas conectadas a Internet, normalmente conocidas como aplicaciones Web y APIs Web; diseñado para proporcionar un desarrollo optimizado para las aplicaciones que se implementan tanto en la nube como en servidores dedicados en las instalaciones de entorno local del cliente. Te sugiero revisar la siguinete publicación para conocer más acerca de ASP.Net Core.

¿Qué es ADO.Net?

Conjunto de clases que exponen servicios para el acceso a datos basado en .NET Framework.  ADO.NET extiende componentes para la creación de aplicaciones de uso compartido de datos distribuidas, es decir, es el encargado de proporciona acceso a datos relacionales, XML y de aplicaciones. ADO.NET satisfaciendo diversas necesidades en el desarrollo, como la creación de clientes de base de datos front-end y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.

¿Qué es DropDown List?

Lista desplegable basada en un widget, permitiendo al usuario seleccionar una o más opciones. Existenten dos tipos: las que aparecen con el fin de seleccionar sólo una opción, y las que permiten seleccionar varias opciones.

② Creación de la tabla NivelSeguridad:

2.1. Consideraciones:

El tabla NivelSeguridad se ha creado en la base de datos BD_SEGURIDAD, y la cadena de conexión se encuentra en el archivo appsettings.json, puedes encontrar mayor información en el tutorial de ASP.NET Core - CRUD en MVC con C# - Parte 2

Además, sugiero revisar el tutorial de ASP.NET Core - CRUD en MVC con C# - Parte 1 para conocer la estructura de un proyecto en ASP.Net Core.

2.2. Script de la tabla:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
CREATE TABLE [dbo].[NivelSeguridad](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[NIVEL] [varchar](50) NULL,
	[STATUS] [int] NULL,
 CONSTRAINT [PK_NivelSeguridad] PRIMARY KEY CLUSTERED 
(
	[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO


③ Creación del Modelo ClsNivelSeguridad:

Creación del model con elación la tabla o entidad NivelSeguridad.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace DropDownList_ASPNet_Core.Models
{
    public class ClsNivelSeguridad
    {
        public int Id { get; set; }
        public string Nivel { get; set; }
    }
}


④ Creación del Controlador HomeController:

Creacón del controlador HomeController.cs

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using DropDownList_ASPNet_Core.Models;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.Extensions.Configuration;
using System.Data.SqlClient;

namespace DropDownList_ASPNet_Core.Controllers
{
    public class HomeController : Controller
    {        
        private IConfiguration Configuration;

        public HomeController(IConfiguration _configuration)
        {
            Configuration = _configuration;
        }
                
        public IActionResult Index()
        {
            ViewBag.NivelSeguridads = GetNivelSeguridads();
            return View();
        }
       
        private List<ClsNivelSeguridad> GetNivelSeguridads()
        {   
            string connectionString = Configuration["ConnectionStrings:DefaultConnection"];

            List<ClsNivelSeguridad> listClsNivelSeguridad = new List<ClsNivelSeguridad>();
            using (SqlConnection con = new SqlConnection(connectionString))
            {
                string query = "SELECT * FROM NivelSeguridad";
                using (SqlCommand cmd = new SqlCommand(query))
                {
                    cmd.Connection = con;
                    con.Open();
                    using (SqlDataReader dataReader = cmd.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            ClsNivelSeguridad clsNivelSeguridad = new ClsNivelSeguridad();

                            clsNivelSeguridad.Id = Convert.ToInt32(dataReader["ID"]);
                            clsNivelSeguridad.Nivel = dataReader["NIVEL"].ToString();
                            listClsNivelSeguridad.Add(clsNivelSeguridad);
                        }
                    }
                    con.Close();
                }
            }
            return listClsNivelSeguridad;
        }
    }
}


⑤ Creación de la Vista Index:

Creación de la vista Index.cshtml con relación al controlador de Home.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@addTagHelper*, Microsoft.AspNetCore.Mvc.TagHelpers
@model DropDownList_ASPNet_Core.Models.ClsNivelSeguridad
@{ ViewData["Title"] = "Home Page"; }
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<script type="text/javascript">
    function SetDept() {
        $("#DeptName").val($("#ddlDept option:selected").text());
    }
</script>

<div class="container">
    
        <div class="row">
            <div class="col-md-12 text-center">
                <h3 class="display-4">
                    DropDown List ASPNet Core
                </h3>
            </div>

            <div class="col-md-12 text-center">
                <form method="post" asp-controller="Home" asp-action="Index" class="text-center">
                    <div class="row">
                        <div class="col-md-5">
                            <select id="ddlDept" name="Id" asp-for="Id" asp-items="@(new SelectList(ViewBag.NivelSeguridads,"Id","Nivel"))" class="form-control" onchange="SetDept()">
                                <option value="0">Please select Security Level</option>
                            </select>
                        </div>
                    </div>
                </form>
            </div>
        </div>    
</div>


⑥ Conclusiones

6.1. Conclusiones:

En este tutorial detallamos los 3 conceptos basico y principales con relación a desarrollar; asimismo, precisamos la revisión de los anterior tutorial, con la finalidad de entender la estructura de un proyecto en ASP.Net Core y para la coniexción a datos; finalmente se desarrolla el tutorial práctico acerca de Drop-Down List aplicando ADO.Net para la conexión a datos.

6.2. Referencias:

Código disponible en GitHub


Gracias nuevamente 😊; comentarios y apreciaciones son bienvenido, un fuerte abrazo para todos ✌...!!! 

Publicar un comentario

0 Comentarios