Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de ASP.NET Core

Curso de ASP.NET Core

Juan Carlos Ruiz

Juan Carlos Ruiz

Actualizando la versión de bootstrap

16/35
Recursos

Aportes 16

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Seguro que no soy en único que pide más cursos de C#

En lugar de setearle el UniqueIda 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.

En la versión 2.2 de .NET Core no es necesario actualizar bootstrap.

si reemplaza la lista por IEnumerable Funciona correctamente

Buena la solucion de los otros compañeros de usar

 @model IEnumerable<BaseSchoolObject>

¡¡¡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>
Muy buena clase.

como que me confundio un poco la vista parcial con objetos que heredan pero al final se entendio la idea.