嗨,我正在努力解决这个问题,并想知道是否有人可以伸出援助之手。我有以下观点:
@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返回给用户并不是很友好。我们将状态名称存储在Status对象中。但是,如何获取与每个电话号码记录关联的StatusID的名称?
答案 0 :(得分:1)
@item.Status.StatusName;
假设您在Telephone StatusId
和Status StatusId
之间有父子关系。
答案 1 :(得分:0)
就我个人而言,我认为您不应该像这样公开ID,您应该在创建模型之前将它们转换为有意义的表达式(即,加入表并将状态名称而不是状态ID写入模型)。
那就是说,你的选择是:
@ViewBag.Statuses.Single(w=>w.Id==Model.StatusID).Name
)答案 2 :(得分:0)
你应该有一个状态表关系我假设与此相关,在这种情况下你需要进行查询
.Include("Statuses")
状态表,除非这是枚举,在这种情况下请阅读EF 4.1中的枚举支持
http://blog.bennymichielsen.be/2011/05/21/entity-framework-4-1-supporting-enums/
如果你有一个状态表,但没有定义关系,现在是时候了:)
答案 3 :(得分:0)
您的Models.Number类需要保存此信息。因此,请将以下属性之一添加到此类...
string StatusName;
//or
Status Status;
然后在逻辑处理中,您需要设置此值。您可以使用已有的StatusID值来检索Status模型,并使用其值分配给Number类。
然后在你看来你只需要打电话给你想要的房产..
@item.StatusName
//or
@item.Status.Name