列のカスタマイズされたレンダリングを含むJqueryDatatableを使用しています。値に基づいて、その中の特定の制御を無効にする必要があります。投稿後にjqueryデータテーブルをリロード/更新/再バインドしたい。どうやってやるの?
**Controller:**
[HttpPost]
public JsonResult PostAction(MyMOdel model)
{
//save changes to DB
return Json(new
{
Success = result,
});
}
public ActionResult MyAction()
//grab records from DB and return JSON
}
**View:**
@using (Ajax.BeginForm("PostAction", "ControllerName", null,
new AjaxOptions
{
UpdateTargetId = "update-message",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "updateSuccess"
}, new { @id = "myForm"
}
))
{
<table id="myTbl" class="display"><tr><td>col1</td></tr></table>
}
<script type="text/javascript">
var oTable = $('#myTbl').dataTable({
"sAjaxSource": "/ControllerName/MyAction",
<!-- more config -->
function updateSuccess(data, status, xhr) {
//refresh datatable;
}
</script>
更新:* *
私は答えを見つけました:
テーブルをクリアします(fnClearTable)
テーブルに新しいデータを追加します(fnAddData)
テーブルを再描画します(fnDraw)