我是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);
控制器中的与此有关吗?
答案 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,尤其是当它们处于“检查生成的代码”时。