0

您好我正在尝试将来自控制器的 URL 中的 ID 传递给视图。我还传递了一个视图模型,其中包含两个具有数据库数据的模型。还有另一种方法吗?路由图已设置为发送 ID。

URLhttp://localhost:55147/Home/ViewProject/8显然是 8 是项目的 ID,但它似乎没有得到这个。我通过 URL.Action 将 ID 传递给 ViewProject 控制器函数,其中 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; }
4

1 回答 1

0

我没有发送项目列表,而是使用通过参数传递的 Project.Find(id) 发送了我在数据库模型中定义的特定项目数据,就像你说的那样

于 2018-05-22T11:50:09.250 回答