我是MVC技术的新手。我已经建立了我的项目,现在我想添加一些功能。我也创建了一个数据库并将其链接到了我的项目中。MVC数据访问
项目表
Id,
Name,
...
错误表
Project Id,
Name,
...
在我的控制器的索引视图我可以看到的项目,这些项目是可以点击的整个列表。如果我按示例项目“TEST”,我想显示一个新页面并只显示与TEST的项目ID相匹配的错误。
我一直在这一天,不能得到它的工作。你会怎么做?
我是MVC技术的新手。我已经建立了我的项目,现在我想添加一些功能。我也创建了一个数据库并将其链接到了我的项目中。MVC数据访问
项目表
Id,
Name,
...
错误表
Project Id,
Name,
...
在我的控制器的索引视图我可以看到的项目,这些项目是可以点击的整个列表。如果我按示例项目“TEST”,我想显示一个新页面并只显示与TEST的项目ID相匹配的错误。
我一直在这一天,不能得到它的工作。你会怎么做?
Details
内,您的项目控制器
public ActionResult BugDetails(int id)
{
using(var db = new YourDbContext())
{
var bugs = db.Bugs.Where(m=> m.ProjectId == id);
return PartialView(bugs);
}
}
BugDetails.cshtml
@model IEnumerable<YourProject.Models.Bug>
<table>
<tr>
<th>Bug Name</th>
</tr>
@foreach(var bug in Model)
{
<tr>
<td>@bug.Name</td>
</tr>
}
</table>
Details.cshtml是为项目负责人的相关
@model YourProject.Models.Project
//... the details view goes here
@Html.Action("BugDetails","Project",new {id= Model.id}) // Project can be changed depends on how you called your project controller, I assumed that you called it *ProjectController*
上面的代码将呈现的细节相关的错误查看项目
我希望这会帮助你的
最后,我已经开始工作了,基本上就像你提到的那样。现在我有另一个问题.. – Aldridge1991
@ Aldridge1991像什么?更好的学习www.asp.net/mvc,你可以从MVC3开始,逐步升级到更高版本 – user5135401
好的,我会假设你有你的clasess这样的:
public class Project
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
...
public ICollection<Bug> Bugs{ get; set; }
}
public class Bug
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
...
public int ProjectId { get; set; }
[ForeignKey("ProjectId")]
public virtual Project Project { get; set; }
}
然后得到错误的gven项目的集合:
var bugs = _dbContext.Bugs.Where(p => p.ProjectId == id).ToList();
如果你是MVC的新手,你需要遵循一个基本教程来理解其中使用的原则和模式。我为此推荐ASP.NET网站。 –
你在使用实体框架吗?代码优先还是数据库优先? –
实体框架 – Aldridge1991