Asp.net mvc 3 MVC3在显示/编辑期间引用外键和ADO.NET实体数据模型?
我是MVC编程新手,目前正在开发一个应用程序。我有以下问题,我缺乏解决的思路(尽管我在这里读过一些类似的话题)。我希望在视图中为外键列显示另一个值(而不是FK值,从相关表中获取列值)。我不知道如何实现这一点(通过使用linq语句创建模型,在控制器中创建视图模型,在视图中?)。我在ASP.NET方面的知识非常有限,因此我希望能提供一个更详细的答案,说明如何使用ASP.NET。提前谢谢你!检查波纹管的情况 我在数据库中有以下表格:Asp.net mvc 3 MVC3在显示/编辑期间引用外键和ADO.NET实体数据模型?,asp.net-mvc-3,Asp.net Mvc 3,我是MVC编程新手,目前正在开发一个应用程序。我有以下问题,我缺乏解决的思路(尽管我在这里读过一些类似的话题)。我希望在视图中为外键列显示另一个值(而不是FK值,从相关表中获取列值)。我不知道如何实现这一点(通过使用linq语句创建模型,在控制器中创建视图模型,在视图中?)。我在ASP.NET方面的知识非常有限,因此我希望能提供一个更详细的答案,说明如何使用ASP.NET。提前谢谢你!检查波纹管的情况 我在数据库中有以下表格: CREATE TABLE [dbo].[TBL_MANAGER](
CREATE TABLE [dbo].[TBL_MANAGER](
[manager_id] [int] IDENTITY(1,1) NOT NULL,
[first_name] [varchar](50) NULL,
[last_name] [varchar](50) NOT NULL,
[team_id] [int] NOT NULL,
CREATE TABLE [dbo].[TBL_TEAM](
[team_id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) NOT NULL,
我使用ADO.NET实体数据模型创建类TBL_MANAGER。在模型类中,我有以下方法(可能它应该返回IList):
这是视图中我可视化数据的部分:
@foreach (var item in ViewBag.OnePageOfProducts)
{
<tr>
<td>
@item.team_id
</td>
<td>
@item.first_name
</td>
<td>
@item.last_name
</td>
<td>
@item.manager_status
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.manager_id }) |
@Html.ActionLink("Details", "Details", new { id=item.manager_id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.manager_id })
</td>
</tr>
}
@foreach(ViewBag.OnePageOfProducts中的变量项)
{
@item.team\u id
@项目名称
@item.last_名称
@item.manager\u状态
@ActionLink(“编辑”,“编辑”,新的{id=item.manager\u id})|
@ActionLink(“详细信息”,“详细信息”,新的{id=item.manager\u id})|
@ActionLink(“删除”,“删除”,新的{id=item.manager\u id})
}
我希望显示TBL_team.name的值而不是team_id。就像分配ViewBag.OnePageOfProducts一样,您也可以将团队字典分配给ViewBag.teams(这样每个字典项的键是team_id,值是name),然后在视图中执行以下操作
...
<td>
@ViewBag.Teams[item.team_id]
</td>
....
。。。
@ViewBag.Teams[项目.团队id]
....
它将根据其ID查找团队的名称并进行渲染
@foreach (var item in ViewBag.OnePageOfProducts)
{
<tr>
<td>
@item.team_id
</td>
<td>
@item.first_name
</td>
<td>
@item.last_name
</td>
<td>
@item.manager_status
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.manager_id }) |
@Html.ActionLink("Details", "Details", new { id=item.manager_id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.manager_id })
</td>
</tr>
}
...
<td>
@ViewBag.Teams[item.team_id]
</td>
....