获取分部视图的模型,并在操作链接中使用它
本文关键字:链接 操作 视图 模型 获取 | 更新日期: 2023-09-27 18:14:01
假设我有这样一个视图:
@{
ViewBag.Title = "Send Items";
}
<h2>Sent Items</h2>
<p>
@using (Html.BeginForm())
{
Html.RenderAction("AdvancedSearchEngine", "PartialViews");
}
@Html.ActionLink("Back to Selection", "MenuSelection")
</p>
我想添加一个html ActionLink
,这将使我到另一个视图。我想在这个actionlink中获得部分视图中使用的所有模型,以创建将在此视图中显示的项目列表。
像@Html.ActionLink("See the results", "DisplayItems", new {_myObject = "blablabla"})
。
有办法吗?
编辑
我添加了这个方法:
@Html.ActionLink("See the results", "DisplayItems", "DispatchItems", new { model = Model }, null);
但是当方法实际执行时,对象仍然是空的
在控制器中创建一个新操作:
public ActionResult DisplayItems(MyModel model)
{
// Do stuff
return View(model);
}
然后在SendItems视图中使用这个actionlink:
Html.ActionLink("See the results", "DisplayItems", "ControllerName", new { model = Model }, null);
我不确定我是否完全理解这个问题,但让我们试试。使用AjaxHelper来做这件事,更有意义,并呈现部分视图。ActionLink必须有一些关于你想要显示的模型的信息,可以是id或其他任何东西。然后,您可以通过单击链接呈现该内容,而无需刷新整个页面。不要忘记在主视图中包含JQuery引用。
<我>我>
@{
ViewBag.Title = "Send Items";
}
<h2>Sent Items</h2>
<p>
@using (Html.BeginForm())
{
Html.RenderAction("AdvancedSearchEngine", "PartialViews");
}
@Ajax.ActionLink("Back to Selection", "MenuSelection", new {id = Model.Id}
new AjaxOptions { HttpMethod ="GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "results")
<div id="results"></div>
public ActionResult DisplayItems(int id)
{
// Do stuff
return PartialView("");
}
希望这对你有帮助!