I次のビューがあります。このコントローラのアクションによって移入MVC3でAjaxを使用してHTML.RenderPartialをリフレッシュする方法を教えてください。
@model ViewModels.Shared.BaseViewModel
<div class="rep_tb0">
<div class="rep_tr0">
<div class="rep_td0">@Html.LabelFor(model => Model.Link.Position)</div>
<div class="rep_td0">@Html.LabelFor(model => Model.Link.Title)</div>
</div>
@for (var i = 0; i < Model.AdminDetails.Count; i++)
{
var qs = "&ac=" + Model.Meta.AccountID +
"&me=" + Model.AdminDetails[i].RowKey;
<div class="rep_tr0">
<div class="rep_td0">
@Html.TextBox(("Position_" + @i), Model.AdminDetails[i].Position, new { size = 2 })
</div>
<div class="rep_td0">@Model.AdminDetails[i].Title</div>
</div>
}
</div>
を:
public ActionResult Detail(string ac, string me)
{
vm.AdminDetails = _link.Detail(ac + me).ToList();
return View(vm);
}
私が要求する必要があるとき、私は時間があるようアヤックス、jQueryとHTML.Renderpartialを使用したいですたとえば、positionの値を変更したときにデータをリフレッシュします。
私はこれを行うという考え方に全く新しいです。私に役立つリンクが見つかりましたが、主にMVCの以前のバージョンではAjaxについてであり、MVC3についてはそうではありませんでした。誰かが私にいくつかの指摘を与えることができます。私はコードを探していません。アクションメソッドでコーディングを行う方法、Ajaxなどを呼び出す方法についてのいくつかの行の例です。
部分は、静的ページの一部をモジュール化する単なる方法であり、概念はサーバー側にのみ存在します。クライアント側の技術であるAJAXを使用してパーシャルをリフレッシュするだけでは意味がありません。パーシャルは静的なページとして利用可能で、AJAXを別のページとして使用してロードする必要があります。しかし、より良い方法は、リフレッシュしたいデータを(たとえばAPI経由でJSONとして)ロードしてから、そのページのデータを直接リフレッシュすることです。 –