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 鈥淥bjetoEscuelaBase.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.