Seguro que no soy en único que pide más cursos de C#
Introducción a ASP.NET Core
Todo lo que aprenderás sobre ASP.NET Core
Herramientas y prerrequisitos
La importancia del middleware en el entorno web
Mi primera aplicación ASP.Net Core
Habilitar certificados, planillas preinstaladas
Revisión detalladas de la estructura de directorios
¿Qúé es el patrón MVC?
Nuestro Proyecto
Modelo Vista Controlador a nivel básico
Vista y controlador
Modelo a nivel básico
Razor Syntax
Vistas Plantillas y modelo
Vistas, plantillas, Archivos de inicio
Importación de modelos
Vistas para listar asignaturas
Vistas parciales
Mostrando otras listas de objetos
Actualizando la versión de bootstrap
Entity Framework Core
Introducción a entity framework
Conectando la solución con Entity Framework Core
Sembrando datos en la base de datos
Optimizando siembra de datos
Refactoring del Modelo para un ORM
Implementando cambios en el modelo
Refactoring siembra de datos
Ajuste de vistas y formularios
Ajuste de enrutamiento
Ajuste de vistas y controladores
Creando un formulario
Validaciones de formularios
Tu primer Reto
Atributos de validación y bases de datos
Data annotations
Segundo Reto
Usando una Base de Datos de verdad
Diseño de vistas y controladores optimizado
Scaffolding o borrón y cuenta nueva
Tercer Reto
Deploy del sitio
Publicando el website
Conclusiones
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Juan Carlos Ruiz
Aportes 18
Preguntas 1
Seguro que no soy en único que pide más cursos de C#
En lugar de setearle el UniqueId
a cada rato, mi solución fue setear uno por defecto en el constructor de ObjetoEscuela
, quedando así:
Dentro del archivo “ObjetoEscuelaBase.cs”
public ObjetoEscuelaBase() {
UniqueId = Guid.NewGuid().ToString();
}
A mi ya me salia el Guid, no he tenido que utillizarlo. lo pusimos en clases anteriores en el constructor de ObjetoEscuelaBase
public ObjetoEscuelaBase() => UniqueId = Guid.NewGuid().ToString();
Cambiando el tipo a un IEnumerable es posible pasar el casteo y evitar el error.
si reemplaza la lista por IEnumerable Funciona correctamente
Buena la solucion de los otros compañeros de usar
@model IEnumerable<BaseSchoolObject>
En la versión 2.2 de .NET Core no es necesario actualizar bootstrap.
Profe Juan Carlos Ruiz si el titulo de la clase se llama [Actualizando la versión de bootstrap] en el video solo tomas 1 minuto en exportar las librerías de bootstrap, pero nunca comentas de donde se puede obtener, espero que los próximos cursos no copie el código de otros proyectos , se pierde bastante el hilo del seguimiento, estaría mejor si el curso se alargue pero programando desde cero
Sólo quiero reportar que, al 2022 y uando <TargetFramework>net6.0</TargetFramework>
No fué necesario comentar el @Model de ListaObjetoEscuela.cshtml ya que me permitió correr tanto Multialumno como Multiasignatura con el siguiente contenido.
@Model List<ObjetoEscuelaBase>
<table class="table table-dark table-hover">
<thead>
<tr>
<th scope="col">Id</th>
<th scope="col">Nombre</th>
</tr>
</thead>
<tbody>
@foreach (var obj in @Model)
{
<tr>
<td>@obj.Nombre</td>
<td>@obj.UniqueId</td>
</tr>
}
</tbody>
</table>
¡¡¡Que paso, que paso, Vamos ahi!!!
😎
Interesante
Utilice @model IEnumerable<ObjetoEscuelaBase> para corregir el error de la vista ListaObjetosEscuela.
A mi me funciono la vista parcial no fue necesario quitar la definicion del modelo
La vista parcial
@model IEnumerable<SchoolBase>
<table class="table table-dark table-hover">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.Id</td>
<td>@item.Name</td>
</tr>
}
</tbody>
</table>
Las vistas normales
@model IEnumerable<Subject>
@{
ViewData["Title"] = "Subjects";
}
<h1>@ViewData["Title"]</h1>
<partial name="MultipleSchoolBase" />
<p><i>@ViewBag.Date</i></p>
@model IEnumerable<Student>
@{
ViewData["Title"] = "Students";
}
<h1>@ViewData["Title"]</h1>
<partial name="MultipleSchoolBase" />
<p><i>@ViewBag.Date</i></p>
Creo que a la vista parcial no es necesario enviarle el modelo pues seria algo redundante teniendo en cuenta que el padre es la vista multialunno que es el que contiene el modelo por lo tanto no es necesario enviarlo
También se puede solucionar el problema del tipo con una lista generíca, con IEnumerable.
Así quedaría nuestro objeto ListaObjetosEscuela, y funciona sin ningún problema:
@model IEnumerable<ObjetoEscuelaBase>
<table class="table table-dark table-hover table-sm">
<thead>
<tr>
<th>Nombre</th>
<th>Id</th>
</tr>
</thead>
<tbody>
@foreach (var obj in Model)
{
<tr>
<td>@obj.Nombre</td>
<td>@obj.UniqueId</td>
</tr>
}
</tbody>
</table>
como que me confundio un poco la vista parcial con objetos que heredan pero al final se entendio la idea.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?