所以我正在创建我的第一个MVC Web应用程序,如果有人可以帮助我,就会遇到问题。
我有一个名为"客户"其中包含客户信息的所有列,然后我有另一个名为" Job"哪个有工作信息。
现在客户有一个"公共虚拟ICollection工作",而" Job"拥有"公共虚拟客户端客户端" - 所以客户可以有很多工作,而工作只能有一个客户。
我已经为客户端创建了一个基本的CRUD功能,现在在"详细信息"特定客户端的页面 - 我想显示一个包含与该客户端关联的所有作业的表。 - 所以CRUD中的CRUD(如果有意义的话?)我尝试创建一个作业列表视图并使用" Html.RenderPartial"在客户详细信息页面 - 但没有运气。
任何有关如何做到这一点的建议将不胜感激。请原谅MVC缺乏经验!谢谢:))
答案 0 :(得分:2)
由于您在Jobs
课程中拥有Client
属性,因此您可以对其进行迭代并在详细信息视图中显示作业。
@model Client
<h2>@Model.Name</h2>
<h3>Jobs for this client </h3>
@if(Model.Jobs!=null)
{
<table>
<tr>
<th>Title </th>
</tr>
@foreach(var job in Model.Jobs)
{
<tr><td>@job.Title</td></tr>
}
</table>
}
else
{
<p>No jobs found</p>
}
假设您的Details操作方法返回一个Client对象。
public ActionResult Details(int id)
{
var client = new Client();
//Hardcoding the values for demo. You may get it from db using the Id
client.Name="Microsoft";
client.Jobs= new List<Job>{
new Job { Title ="Developer"},
new Job { Title ="proDuct Manager"}
};
return View(client);
}
答案 1 :(得分:0)
要加载客户的作业列表,您可以使用: 在客户端Vivew
@model Client
<h3>@Model.Name</h3>
@Html.Render("_jobpartialView",client.Jobs)
在“_jobpartialView”
中@model IEnumerable<Jobs>
@foreach(var job in Model)
{
//your code
}