1

所以基本上,我正在制作一个获取一些信息并显示它的网站。

目前我有它显示我想要的一切,除了我使用的是 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 的新手,这些 mo'fo'in' 控制器让我发疯。

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

4

2 回答 2

0

我认为提交是域模型而不是视图模型。您需要创建视图模型。例如

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

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

于 2013-09-04T08:37:38.220 回答
0

如果“名称”属性在“提交”对象中,那么您应该可以毫无问题地显示它。

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

如果您不习惯 MVC,则需要一段时间才能习惯并非全部在一起的事物。很快,虽然它会有意义。那么问题当然是当你回到不是用 MVC 编写的代码并开始颤抖时。

祝你好运。

于 2013-09-04T08:31:33.427 回答