【发布时间】:2014-07-10 09:58:27
【问题描述】:
我启动了一个 ASP.NET MVC 4 项目。我的模型在 View 和 Controller 之间进行通信时遇到问题。我知道如何将列表发送到视图,但我想从视图中检索此模型以将其发送到控制器。
在我的控制器中:
public ActionResult Index()
{
List<ApplicationModel> listAppli = ApplicationModel.GetListApplications();
return View(listAppli);
}
public ActionResult Delete(ApplicationModel app)
{
ApplicationModel.DeleteApplication(app);
return RedirectToAction("Index");
}
我的观点是一个列表。我想在删除/详细信息/编辑时检索与该行对应的模型。
@model IEnumerable < Activate.Models.ApplicationModel>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Code)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
@Html.ActionLink("Edit", "Edit", new { id=item }) |
@Html.ActionLink("Details", "Details", new { id=item }) |
@Html.ActionLink("Delete", "Delete", new{ id=item } )
</td>
</tr>
}
在我的 ActionLink 中,我只想发送对象“项目”,但事件中发送的项目是与行不对应的新项目。
它们是我的代码中的错误还是我必须使用其他方式?像另一个在视图和模型之间创建链接的工具,它允许在参数中发送对象?
谢谢。
我的 ApplicationModel 是这样的:
public ApplicationModel(ApplicationModel app)
{
Id = app.Id;
Code = app.Code;
Name = app.Name;
}
【问题讨论】:
-
尝试将项目更改为应用程序,我在您的模型中看不到“项目”...
-
像这样:@Html.ActionLink("Delete", "Delete", new{ app=item } ?
-
是的,否则我迷路了......
标签: asp.net asp.net-mvc-4 razor model html.actionlink