【发布时间】:2018-09-14 16:03:26
【问题描述】:
我的控制器中有一个查询,它从数据库中获取两列,并将其存储在一个变量中以将其返回给视图。我正在使用表格显示数据。以下是代码:
控制器:
public ActionResult DisplayData(LabourTimeModel ltm)
{
LabourTimeEntities db = new LabourTimeEntities();
string query = "Select ProcessItemName, sum(DATEDIFF(MINUTE, LaborTimeOut,LaborTimeIn)) AS 'TimeSpent' FROM LaborTime group by ProcessItemName";
var data = db.Database.SqlQuery<LabourTimeModel>(query).ToList();
return View(data);
}
查看:
@model List<LabourTime.Models.LabourTimeModel>
@{
ViewBag.Title = "Labour Time - Home";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2><centre>Display Data</h2><hr />
<table>
<tr>
<th colspan="2">Time Spent For Process Item</th>
</tr>
<tr>
<th style="padding:0 15px 0 15px;"> Process Item Name </th>
<th style="padding:0 15px 0 15px;"> Time Spent </th>
</tr>
@foreach (LabourTime.Models.LabourTimeModel obj in Model)
{
<tr>
<td style="padding:0 15px 0 15px;">@obj.processItemName.ToString()</td>
<td style="padding:0 15px 0 15px;">@obj.TimeSpent</td>
</tr>
}
</table>
这给了我想要的输出。但是,我想再写一个查询并将其传递给同一个视图并再显示一个这样的表。我如何实现这一目标?任何帮助表示赞赏,谢谢!
我现在得到的输出:
Column1 Column2
A 20
B 10
C 45
我希望在此下方再显示一个表格。
我尝试过的控制器:
public ActionResult DisplayData(LabourTimeModel ltm)
{
LabourTimeEntities db = new LabourTimeEntities();
string query = "Select ProcessItemName, sum(DATEDIFF(MINUTE, LaborTimeOut,LaborTimeIn)) AS 'TimeSpent' FROM LaborTime group by ProcessItemName";
string query1 = "ONE MORE QUERY"
var data = db.Database.SqlQuery<LabourTimeModel>(query).ToList();
var data1 = db.Database.SqlQuery<LabourTimeModel>(query1).ToList();
return View(data);
}
但是,我不能使用返回视图传递两个结果。我被困在这里了。
【问题讨论】:
-
你想要一个View Model
-
@Liam 谢谢!
标签: c# sql asp.net-mvc