从数据库读取的MVC数据

时间:2016-12-23 13:45:14

标签: c# .net asp.net-mvc

我在做我的MVC应用程序。我通过实体框架将它连接到我的数据库。在我的控制器中,我运行这样的视图:

public ActionResult MyMarks()
{
    ClassDeclarationsDBEntities1 entities=new ClassDeclarationsDBEntities1();
    return View(entities.Users.ToList());
}

我的观点是:

@using ClassDeclarationsThsesis.Models
@using Microsoft.AspNet.Identity
@{
    ViewBag.Title = "My Marks";
}
<div>
    <h4>Account information</h4>
    <hr/>
    <dl class="dl-horizontal">
        <dt>Name</dt>
        <dd>Student's name</dd>
        <dd></dd>
        <dt>Surname</dt>
        <dd>Student's surname</dd>
        <dt>Email</dt>
        <dd>
            @HttpContext.Current.User.Identity.Name
        </dd>
    </dl>
</div>

如何用构造函数中传递的实体的实际数据替换学生的姓名和姓氏?

3 个答案:

答案 0 :(得分:2)

在视图List<Users>

中添加模型
@using ClassDeclarationsThsesis.Models
@using Microsoft.AspNet.Identity
@model List<Users>
@{
    ViewBag.Title = "My Marks";
}
<div>
    <h4>Account information</h4>
    <hr/>
    @foreach(var student in Model) 
    {
        <dl class="dl-horizontal">
            <dt>Name</dt>
            <dd>@student.Name</dd>
            <dd></dd>
            <dt>Surname</dt>
            <dd>@student.surname</dd>
            <dt>@student.Email</dt>
            <dd>
                @HttpContext.Current.User.Identity.Name
            </dd>
        </dl>
    }
</div>

答案 1 :(得分:1)

在视图顶部添加此内容

@model List<Users> // you must resolve the namespace like YourProject.Users

这指定了您的视图所期望的模型类型。由于您要传递entities.Users.ToList(),我们将视图设置为接受相同的视图。

现在要显示记录,我们可以执行foreach循环并在每次迭代中访问数据。比如

@foreach(var user in Model)
{
  <dt>Name</dt>
  <dd>@user.name</dd>
}

答案 2 :(得分:1)

由于您的控制器请求是Users object的列表,因此需要IEnumerable<ClassDeclarationsThsesis.Models.Users>模型接受它。

 @model IEnumerable<ClassDeclarationsThsesis.Models.Users>
 @using Microsoft.AspNet.Identity

 @{
 ViewBag.Title = "My Marks";
 }
 <div>
 <h4>Account information</h4>
 <hr/>

 <table>
 <tr>
 <th>Name</th>
 <th>Sure name</th>
 <th>Email</th>
 </tr>

 foreach(var student in Model) 
 {
 <tr>
 <td>@student.Name</td>
 <td>@student.SurName</td>
 <td>@student.Email</td>
 </tr>
 }
 </table>