Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 MVC3在显示/编辑期间引用外键和ADO.NET实体数据模型?_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 MVC3在显示/编辑期间引用外键和ADO.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](

我是MVC编程新手,目前正在开发一个应用程序。我有以下问题,我缺乏解决的思路(尽管我在这里读过一些类似的话题)。我希望在视图中为外键列显示另一个值(而不是FK值,从相关表中获取列值)。我不知道如何实现这一点(通过使用linq语句创建模型,在控制器中创建视图模型,在视图中?)。我在ASP.NET方面的知识非常有限,因此我希望能提供一个更详细的答案,说明如何使用ASP.NET。提前谢谢你!检查波纹管的情况

我在数据库中有以下表格:

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>

....