学習体験として、自分用のプロジェクトマネージャーのようなアプリを作成しています。私は ASP.NET MVC3 を使用しており、jQuery を使用してさらに先へ進む予定です。今のところ、Ninject/Moq を使用してモデルといくつかのモック リポジトリを作成しました。
モデル:
public class Project
{
public int ProjectID { get; set; }
public string ProjectName { get; set; }
public string Description { get; set; }
public string[] AssignedEmployees { get; set; }
public string[] ProjectGoals { get; set; }
public DateTime ProjectStart { get; set; }
public DateTime ProjectDeadLine { get; set; }
public string Notes { get; set; }
}
モック リポジトリ:
Mock<IProjectRepository> projectMock = new Mock<IProjectRepository>();
projectMock.Setup(m => m.Projects).Returns(new List<Project>
{
new Project {ProjectID = 1234, ProjectName = "Email redesign", Description = "New email", AssignedEmployees = new string[] {"Ian", "Danny", "Mikey"}},
new Project {ProjectID = 4321, ProjectName = "Update Cart", Description = "Make cart smoother function better"},
new Project {ProjectID = 4567, ProjectName = "New social widget", Description = "More social media buttons"}
}.AsQueryable());
ninjectKernel.Bind<IProjectRepository>().ToConstant(projectMock.Object);
意見:
@foreach (var p in Model){
<div class='project'>
<h3>@p.ProjectName</h3>
<p>@p.Description</p>
<ul class='assigned-employees'>
<li class="employee">
@p.AssignedEmployees
</li>
</ul>
</div>
}
問題は、AssignedEmployees 配列のビューでレンダリングされるのはすべてSystem.String[]
. 私は試し.ToString
てみましたが、配列内の各項目をループして、それぞれを個別のliに出力するループを.ToArray
作成しようとしました。foreach
配列内のすべての名前を出力するにはどうすればよいですか? これに配列を使用することは最善の解決策ですか? アプリを使用している誰もがプロジェクトに必要な数の従業員を割り当てることができるようにしたいので、配列が最適であると考えました。