0

私がこのビューを持っているとしましょう:

@{
    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います。このアクションリンクの部分ビューで使用されるすべてのモデルを取得して、このビューに表示される項目のリストを作成したいと考えています。

のようなもの@Html.ActionLink("See the results", "DisplayItems", new {_myObject = "blablabla"})

それを行う方法はありますか?

編集

このメソッドを追加しました:

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

しかし、メソッドが実際にヒットすると、オブジェクトはまだ 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 に答える