如何在mvc视图中获取列表

时间:2017-08-30 07:18:50

标签: c# asp.net-mvc entity-framework linq asp.net-mvc-4

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

  1. 我创建数据库
  2. 我创建了MVC BASIC项目
  3. 在模型中添加ADO.NET实体框架
  4. 添加家庭控制器并制作视图
  5. 在家庭控制器中,我获得了学生名单

    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>
    }
    

    现在,我想使用没有Model的LINQ to SQL类。

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

    这里我需要两件事

    1. 我如何获得LINQ语法的学生列表?
    2. 我如何在View中显示此信息?
    3. 请帮忙!

4 个答案:

答案 0 :(得分:1)

尝试代码

<强>控制器

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>
 }

答案 1 :(得分:0)

你可以这样做没有EF

1-为学生创建模型类

2-创建处理所有数据库操作的StudentDBHandle.cs类

3-使用中的StudentDBHandle.cs

4-在视图中使用学生模型类

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

答案 2 :(得分:0)

嘿试试这个......

  

<强>控制器

public ActionResult Index()
    {
        CMSEntities cx = new CMSEntities();
        Viewbag.student = cx.Students.ToList();
        return 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>
 }

答案 3 :(得分:-1)

@foreach(模型中的var项)                 {                     

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

}