私は次のフォームを持っています、私がしたいのは、人々が検索ボタンをクリックすると、リクエストがサーバーにファイルされ、サーバーが新しい結果のセットを返し、divを再レンダリングして新しいものを提示することです結果
@using (Ajax.BeginForm("Search", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "DivToUpdate" }))
{
<div style="margin: 10px 50px 5px 50px;">
@Html.TextBox("instrument", (string)ViewBag.DefaultInstrumentStr)
<input type="submit" value="Search" />
</div>
}
<div id="DivToUpdate" style="width: 100%; display: none;">
@if (Model != null)
{
@Html.Partial("_InstrumentList", @Model);
}
else
{
<span>Loading ....</span>
}
</div>
これが私のコントローラーの実装です:
public ActionResult Search(string instrument)
{
// ... base on the input perform certain action to generate a list of result
return PartialView("_InstrumentList", instruments);
}
それを実行すると、検索をクリックした後、ブラウザに部分的なビューのみが表示され、データはdivを更新しません。
誰かが私が何を間違えたのか分かりますか?ありがとう。