用名称替换外键

时间:2013-09-04 08:24:06

标签: c# asp.net-mvc razor

基本上,我正在创建一个获取一些信息并显示它的网站。

目前我有它显示我想要的一切,除了我使用的是ID而不是名字。用户的ID,我想用实际名称替换ID。

如果你看这里

     @foreach(var m in Model.Commits)
     {
        if(m.ProjectName == Model.SelectedProject)
        {
        <tr>
           <th>@m.UserID</th>
           <th>@m.Date</th>
           <th>@m.Message</th>
           <th>@m.BranchName</th>
           <th>@m.Host</th>
           <th>@m.RepositoryPath</th>
        </tr>  
        }
     }

我相信这可能是我必须在我的控制器内做的事情,但我是MVC的新手,而这些'''''''''''''''''''''''''''''''''''''''''''''

任何帮助都会很棒,谢谢!

2 个答案:

答案 0 :(得分:0)

如果'name'属性在'Commits'对象中,那么你应该能够显示它而没有任何问题。

然而,我怀疑它可能不那么直截了当。 MVC中的M代表Model,在示例中,您提供了Commits类是您的视图的模型。你的控制器应该调用一些东西来填充/补充这个'Commits'模型。看看那个。

如果你不习惯MVC,那么需要一段时间才能适应并非所有人都在一起的事情。很快它会有意义。当然,问题是当你回到没有用MVC写的代码并开始颤抖的时候。

祝你好运。

答案 1 :(得分:0)

我认为Commits是域模型而不是viewmodel。您需要创建viewmodel。例如

public class CommitViewModel
{
  public DateTime Date{get;set;}
  public String Message{get;set;}
  //other properties
  public string UserName {get;set;}
}

在控制器中按域模型初始化视图模型并传递给视图。