使用视图模型 (vb) 在 ASP.Net MVC table 中显示每个用户的计数或总数
Display Count or Total for each user in ASP.Net MVC table using View Model (vb)
我正在从 SQL 服务器数据 Table 中提取所有用户并在 table 中显示该列表(参见代码)
控制器代码:
Function Display Users() As ActionResult
Using db as new xDataContext
Dim model As New dataViewModel With { _
.AllUsers = db.GetAllUsers() _
}
Return View(model)
End Using
模型代码:
Public Function GetAllUsers() As List(Of User)
Dim allusers = From user In Me.Users Select user Order By user.LastActivityDate Descending
Return allusers.ToList()
End Function
HTML代码:
<table>
<thead>
<tr>
<th>User/<>
<th>Total Points</th>
</tr>
</thead>
<tbody>
<% For Each item in Model.AllUsers%>
<tr>
<td><%: item.UserId%></td>
<td>NEED HELP HERE I want to show points from a separate table summed life to date </td>
</tr>
<% Next%>
</tbody>
</table>
UserId 存储在用户数据中table,我可以轻松获取这些记录。点按日期存储在单独的 table 中。我想要获得的是通过将每个用户的所有点数相加并将其显示在 table 中的总点数。这可能很容易解决,我只是很密集...
我已经搜索过实现此目的的方法,但无济于事。在此方面的任何帮助都将不胜感激。
感谢您的快速回复。对不起,我没有提供足够的信息。我有两个 tables:用户和活动 - 活动包含每个 activity 的点数,我想根据 table 中的用户总结迄今为止的生活。它们是分开的,我想在视图 Table.
中组合它们
例子:
用户积分
泰德 127
山姆 211
谢谢!
我不是 vb.net 人,但您应该通过以下查询了解如何执行此操作:
var allUsers = from T1 in context.Users
join T2 in context.Points on T1.ID equals T2.ID
group T3 by new { T1.ID} into g
select new {
Column1 = T1.Column1,
Column2 = T2.Column2,
Amount = g.Sum(t3 => t3.Column1)
};
对于模型。
创建一个包装器 class,它能够保存来自两个 table 的数据,例如 UserWrapper,您可以在其中放置用户数据,而其他 table data.you 也可以在您当前的 class 如果你不想创建另一个包装器 class.
对于从两个 table
到 select 的控制器火连接查询
SELECT *
FROM user INNER JOIN othertable
ON user.userId= othertable.userId;
你的两个 table 必须有一些常见的东西,你可以在此处触发查询,即 userId。
那你就可以边看边做...
我正在从 SQL 服务器数据 Table 中提取所有用户并在 table 中显示该列表(参见代码)
控制器代码:
Function Display Users() As ActionResult
Using db as new xDataContext
Dim model As New dataViewModel With { _
.AllUsers = db.GetAllUsers() _
}
Return View(model)
End Using
模型代码:
Public Function GetAllUsers() As List(Of User)
Dim allusers = From user In Me.Users Select user Order By user.LastActivityDate Descending
Return allusers.ToList()
End Function
HTML代码:
<table>
<thead>
<tr>
<th>User/<>
<th>Total Points</th>
</tr>
</thead>
<tbody>
<% For Each item in Model.AllUsers%>
<tr>
<td><%: item.UserId%></td>
<td>NEED HELP HERE I want to show points from a separate table summed life to date </td>
</tr>
<% Next%>
</tbody>
</table>
UserId 存储在用户数据中table,我可以轻松获取这些记录。点按日期存储在单独的 table 中。我想要获得的是通过将每个用户的所有点数相加并将其显示在 table 中的总点数。这可能很容易解决,我只是很密集...
我已经搜索过实现此目的的方法,但无济于事。在此方面的任何帮助都将不胜感激。
感谢您的快速回复。对不起,我没有提供足够的信息。我有两个 tables:用户和活动 - 活动包含每个 activity 的点数,我想根据 table 中的用户总结迄今为止的生活。它们是分开的,我想在视图 Table.
中组合它们
例子:
用户积分
泰德 127
山姆 211
谢谢!
我不是 vb.net 人,但您应该通过以下查询了解如何执行此操作:
var allUsers = from T1 in context.Users
join T2 in context.Points on T1.ID equals T2.ID
group T3 by new { T1.ID} into g
select new {
Column1 = T1.Column1,
Column2 = T2.Column2,
Amount = g.Sum(t3 => t3.Column1)
};
对于模型。 创建一个包装器 class,它能够保存来自两个 table 的数据,例如 UserWrapper,您可以在其中放置用户数据,而其他 table data.you 也可以在您当前的 class 如果你不想创建另一个包装器 class.
对于从两个 table
到 select 的控制器火连接查询SELECT *
FROM user INNER JOIN othertable
ON user.userId= othertable.userId;
你的两个 table 必须有一些常见的东西,你可以在此处触发查询,即 userId。
那你就可以边看边做...