Alguien sabe como pasar datos de una clase a una etiqueta <td> es para formar un tabla?

<table id="list" class="bordered">
    <tr>
        <th>Nombre</th>
        <th>Apellido Materno</th>
        <th>Apellido Paterno</th>
    </tr>
    <tr>
        <td></td>
    </tr>  
 </table> 

Ese esl codigo de la tabla y lo que yo quiero pasar son estos datos de esta clase

public ActionResult Index(){
        List<Persona> lista = new List<Persona>();

        Persona per1 = new Persona();
        per1.codigo = 1;
        per1.nombre = "Luthien";
        per1.apepat = "Lopez";
        per1.apemat = "Perez";

        lista.Add(per1);

        Persona per2 = new Persona();
        per2.codigo = 2;
        per2.nombre = "Beren";
        per2.apepat = "Beltran";
        per2.apemat = "Caceres";

        lista.Add(per2);

        Persona per3 = new Persona();
        per3.codigo = 3;
        per3.nombre = "Jorge";
        per3.apepat = "Ramirez";
        per3.apemat = "Castillo";

        lista.Add(per3);

        return View(lista);
}
0
задан 27.12.2016, 15:42
0 ответов

Оставаясь модель MVC у тебя должна бы быть модель (класс) со структурой данных, в этом случае, у меня было бы нечто похожее для модели.

//Clase auxiliar con los datos de la persona//

public class Persona
{
    private String _nombre;
    private String _apellidoMaterno;
    private String _apellidoPaterno;

    public String Nombre
    {
        get{return this._nombre;}
        set{this._nombre = value;}
    }
    public String ApeMaterno
    {
        get{return this._apellidoMaterno;}
        set{this._apellidoMaterno = value;}
    }
    public String ApePaterno
    {
        get{return this._apellidoPaterno;}
        set{this._apellidoPaterno = value;}
    }
    public Persona(String nombre, String apeMaterno, String apePaterno)
    {
        this.Nombre = nombre;
        this.ApeMaterno = apeMaterno;
        this.ApePaterno = apePaterno;
    }
}
//Modelo de datos que pasaremos a la vista para generar la tabla con Razor//

public class ListaPersonasModel
{
    private List<Persona> _listaPersonas = new List<Persona>();

    public List<Persona> lPersonas
    {
        get{return this._listaPersonas;}
        set{this._listaPersonas = value;}
    }
}
//CONTROLADOR//

public ActionResult Index()
{
    ListaPersonasModel lista = new ListaPersonasModel();

    Persona personaUno = new Persona("Luthien", "Lopez","Perez");
    Persona personaDos = new Persona("Beren", "Beltran", "Caceres");
    Persona personaTres = new Persona("Jorge", "Ramirez", "Castillo");

    lista.Add(personaUno);
    lista.Add(personaDos);
    lista.Add(personaTres);

    //Si podemos retornamos una vista y un modelo asociado a dicha vista//
    //En este caso, el modelo era una lista de personas
    //, por lo que pasamos la lista de personas//

    return View("~/Views/NombreVista",lista);
}

<table id="list" class="bordered">
    <tr>
        <th>Nombre</th>
        <th>Apellido Materno</th>
        <th>Apellido Paterno</th>
    </tr>
    @foreach(var persona in Model)
    {
        <tr>@persona.Nombre</tr>
        <tr>@persona.ApeMaterno</tr>
        <tr>@persona.ApePaterno</tr>
    }
</table>

В конце концов мы красим вид, в котором мы должны иметь значение в начало, тип данных модели, не имя модели.

Каждый раз, когда я обрабатываю информацию с MVC я пробую отличать типов вспомогательных данных (класс persona в этом случае) модели, которую я буду перемещать его в поле зрения, из-за которого вид может становиться гораздо более сложным, и хотя он труднее, также я пробую отличать между частными членами и свойствами, чтобы не касаться ничего, лишенного классов с вида.

1
ответ дан 03.12.2019, 17:58

С вида, ты имеешь доступ к этому списку через объект Model.

Сначала, он добавляет заявление @model к началу вида, чтобы определять тип информации Model.

@model IEnumerable<TuEspacioDeNombres.Persona>

Потом, ты можешь делать что-то вроде следующее:

<table id="list" class="bordered">
    <tr>
        <th>Nombre</th>
        <th>Apellido Materno</th>
        <th>Apellido Paterno</th>
    </tr>
    @foreach (Persona persona in Model)
    { 
        <tr>
            <td>@persona.nombre</td>
            <td>@persona.apemat</td>
            <td>@persona.apepat</td>
        </tr>
     }  
 </table>

Также ты был бы должен добавлять

0
ответ дан 03.12.2019, 17:58
  • 1
    Спасибо, я новый, будет какое-то место, где у них было несколько решенных упражнений, как он ведет здесь, я использую ASP.NET #C MVC 2 –  28.12.2016, 15:38