您好我正在尝试将URL从控制器传递到视图。我还传递了一个viewmodel,它包含两个包含数据库数据的模型。还有另一种方法吗?路由映射已设置为发送ID。
网址为http://localhost:55147/Home/ViewProject/8
,显然8是项目的ID,但似乎没有这个。我通过URL.Action将ID传递给ViewProject控制器函数,该ID具有通过另一页上的参数传递的ID。
这是我的控制器:
public ActionResult ViewProject( int? id )
{
if( id == null )
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
BextecODBEntities DB = new BextecODBEntities();
var mymodel = new Multipledata();
mymodel.projectss = DB.Projects.ToList();
mymodel.projectnotess = DB.ProjectNotes.ToList();
return View("ViewProject", mymodel);
}
这是我的观点:
@foreach(var item in Model.projectss)
{
if( item.ID.ToString() == Html.ViewContext.RouteData.Values["id"].ToString() )
{
@Html.DisplayText("You have clicked on Project ID:" + item.ID.ToString())
}
}
我的多数据模型包含:
public IEnumerable<Projects> projectss { get; set; }
public IEnumerable<ProjectNotes> projectnotess { get; set; }
答案 0 :(得分:0)
我没有发送项目列表,而是发送了我在数据库模型中定义的特定项目数据,使用Project.Find(id)传递参数,就像你说的那样