0

假设我有这个观点:

@{
    ViewBag.Title = "Send Items";
}

<h2>Sent Items</h2>

<p>
    @using (Html.BeginForm())
    {
        Html.RenderAction("AdvancedSearchEngine", "PartialViews");
    }

    @Html.ActionLink("Back to Selection", "MenuSelection")
</p>

我想添加一个 htmlActionLink来让我进入另一个视图。我想在此操作链接中获取部分视图中使用的所有模型,以创建将在此视图中显示的项目列表。

类似的东西@Html.ActionLink("See the results", "DisplayItems", new {_myObject = "blablabla"})

有没有办法做到这一点?

编辑

我添加了这个方法:

@Html.ActionLink("See the results", "DisplayItems", "DispatchItems", new { model = Model }, null);

但是一旦方法实际命中,对象仍然为空。

4

2 回答 2

0

我不确定我是否完全理解这个问题,但让我们试试。使用 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("");
 }

希望这对你有帮助!

于 2013-05-16T17:43:24.550 回答
0

在您的控制器中创建一个新操作:

public ActionResult DisplayItems(MyModel model)
{
   // Do stuff
   return View(model);
}

然后在 SendItems 视图中使用此 AcitonLink:

Html.ActionLink("See the results", "DisplayItems", "ControllerName", new { model = Model }, null);
于 2013-05-16T16:47:17.667 回答