如何在mvc视图中获取列表

How to get list in mvc view

我正在学习 MVC,并从非常基本的删除、更新模块开始。我使用 ADO.Net Entity Framework 数据库方法。

  1. 我创建数据库
  2. 我创建 MVC BASIC 项目
  3. 在模型中添加 ADO.NET Entity Framework
  4. 添加家庭控制器并制作视图

在家庭控制器中我得到了学生列表

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using CollegeManagementSystem.Models;

namespace CollegeManagementSystem.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            CMSEntities cx = new CMSEntities();
            var l = cx.Students.ToList();
            return View(l);
        }
     }
}

Index.cshtml 中,我通过包含

获得此列表
@model List<CollegeManagementSystem.Models.Student>

并使用HTML Helpers显示信息

@foreach (var x in Model)
{
    <tr>
        <td>@x.studentname</td>
        <td>@x.studentage</td>
        <td><a href="/Home/Detail/@x.studentid">Detail</a></td>
        <td><a href="/Home/Update/@x.studentid">Update</a></td>
        <td><a href="/Home/Delete/@x.studentid">Delete</a></td>
    </tr>
}

现在,我想在没有模型的情况下使用 LINQ SQL 类。

我通过单击项目将 Linq 添加到 SQL 类 并添加 LINQ TO SQL

这里我需要两件事

  1. 如何获取具有 LINQ 语法的学生列表?
  2. 如何在 View 中显示此信息?

请帮忙!

@foreach(模型中的变量项) {

                         <td>
                       @Html.DisplayFor(m =>m.name
                    </td>

}

你可以在 没有 EF 的情况下这样做:

1- 为学生创建模型 Class

2- 创建 StudentDBHandle.cs class 用于处理所有数据库操作

3- 在操作中使用 StudentDBHandle.cs

4- 为视图中的学生使用模型 Class

有关详细信息,请参阅 this article

尝试代码

控制器

public ActionResult Index()
    {
        CMSEntities cx = new CMSEntities();
        Viewbag.student = cx.Students.ToList();
        return View();
    }

查看

去掉下面的代码

 @model List<CollegeManagementSystem.Models.Student> is removed

更改下面的代码

@foreach (var x in Viewbag.student as List<CollegeManagementSystem.Models.Student> )
{
   <tr>
     <td>@x.studentname</td>
     <td>@x.studentage</td>
     <td><a href="/Home/Detail/@x.studentid">Detail</a></td>
     <td><a href="/Home/Update/@x.studentid">Update</a></td>
     <td><a href="/Home/Delete/@x.studentid">Delete</a></td>
  </tr>
 }

嘿试试这个...

Controller

public ActionResult Index()
    {
        CMSEntities cx = new CMSEntities();
        Viewbag.student = cx.Students.ToList();
        return View();
    }

View

@foreach (var x in Viewbag.student as List<CollegeManagementSystem.Models.Student> )
{
   <tr>
     <td>@x.studentname</td>
     <td>@x.studentage</td>
     <td><a href="/Home/Detail/@x.studentid">Detail</a></td>
     <td><a href="/Home/Update/@x.studentid">Update</a></td>
     <td><a href="/Home/Delete/@x.studentid">Delete</a></td>
  </tr>
 }