![](/img/trans.png)
[英]How to get same name or id from another table with matching name or id in another table
[英]How to get name from id
大家好,我对此有点挣扎,想知道是否有人可以伸出援手。 我有以下观点:
@model IEnumerable<TelephoneNumber.Models.Number>
<table>
<tr>
<th>
Number
</th>
<th>
Status
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@item.Number1
</td>
<td>
@item.StatusID
</td>
</tr>
}
</table>
一切都很好,但是将StatusID返回给用户不是很友好。 我们将状态名称存储在状态对象中。 但是,如何获取与每个电话号码记录关联的StatusID的名称?
@item.Status.StatusName;
怎么@item.Status.StatusName;
假设您在Telephone StatusId
和Status StatusId
之间具有父子关系。
我个人认为您不应该公开这样的ID,您应该在创建模型之前将它们转换为有意义的表达式(即,连接表并在模型中写入状态名称而不是状态ID)。
也就是说,您的选择是:
@ViewBag.Statuses.Single(w=>w.Id==Model.StatusID).Name
) 您应该具有状态表关系(我假设与此相关),在这种情况下,您需要进行查询
.Include("Statuses")
除非是枚举,否则为Status表,在这种情况下,请阅读EF 4.1中的枚举支持
http://blog.bennymichielsen.be/2011/05/21/entity-framework-4-1-supporting-enums/
如果您有一个状态表,但没有定义关系,那么现在该做一下了:)
您的Models.Number类需要保存此信息。 因此,将以下属性之一添加到此类中...
string StatusName;
//or
Status Status;
然后,在逻辑处理中,您需要设置此值。 您可以使用已经具有的StatusID值来检索Status模型并将其值分配给Number类。
然后,在您的视图中,您只需调用所需的属性即可。
@item.StatusName
//or
@item.Status.Name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.