在VIEW中查看控制器数据

时间:2014-01-17 10:22:53

标签: asp.net-mvc linq-to-sql

我是MVC 3.0和LINQ to SQL的新手。调用存储过程并将其保存为VAR,但现在如何在VIEW中查看它的数据?

CODE:

using EmployeeAttendance_app.Models;
namespace EmployeeAttendance_app.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Employee Attendance";
            var DataContext = new EmployeeAtdDataContext();
            var EmployeeAtd = DataContext.GetAttendance_Sp;
            return View(EmployeeAtd);
        }

        public ActionResult About()
        {
            return View();
        }
    }
}

SP:

Select * from V_EmpAtd

查看:

@foreach (GetAttendance_SpResult emp in (IEnumerable<Object>)ViewData.Model) 
 {
     <li>@emp.DeptName</li>
 }

此视图显示结果,成功:)但我不明白为什么我需要在foreach中使用“GetAttendance_SpResult”以及如何

return View(EmployeeAtd);
控制器中的

与此有关吗?

2 个答案:

答案 0 :(得分:0)

在您的操作中右键单击并选择“创建视图”

公共ActionResult索引()         {//右击这里......

然后访问view / HomeController

答案 1 :(得分:0)

你的模特在哪里? “M”“V”“C”; - )

首先,您应该创建一个类(您的模型,例如EmployeeModel,您应该采用与您的数据类型相对应的名称),这些类对应于数据库结果项的字段。怎么样?看这里:

http://www.asp.net/mvc/tutorials/mvc-5/introduction/adding-a-model

与该型号对应的项目列表将传递到您控制器中的View,因此您的视图应该以以下内容开头:

@model IEnumerable<yourNameSpace.Models.EmployeeModel>

然后在您的视图中,您将能够显示项目的属性。表的样本:

<table>    
@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.DeptName)
        </td>
    </tr>
}
</table>

但你可以做你想做的事:一个清单,......

简而言之:回到MVC基础知识。请参阅此处的示例:http://www.asp.net/mvc/tutorials/mvc-5/introduction/accessing-your-models-data-from-a-controller,尤其是当它们处于“检查生成的代码”时。