DataTables Editor を使用したいのですが、Editor-Server に処理させるのではなく、ポストバックを完全に制御したいです。これを行う方法はありますか?クライアント側の Ajax で URL を指定でき、それがコントローラーにポストバックされます。唯一の問題は、呼び出しからデータを取得する方法がわからないことです。これは Ajax 部分です。
$(document).ready(function () {
editor = new $.fn.dataTable.Editor({
ajax: ({
url: "/../AnyController/Update",
dataType: "json",
contentType: "application/json",
type: 'POST'
}),
formOptions: {
inline: {
onBlur: true,
submit: 'all'
}
},
table: "#timetracker",
fields: [
{
label: "Date1:",
name: "Date1"
},
{
label: "Comment 1:",
name: "Comment1",
type: "textarea"
}
]
});
そして、これはコントローラの方法です:
[HttpPost]
public JsonResult Update(EditorReturnData wtd)
{
return Json(wtd);
}
他のさまざまなメソッド シグネチャを使用してみましたが、wtd の値は常に null です。Jsonデータを渡すだけでテーブルをロードするのに問題はありませんが、データテーブルエディタから更新プロセスを引き継ぐ方法がわかりません。
更新が 1 つあります。Get、Post、および Put がすべて同じコントローラー メソッドを使用する方法がわかりませんでした。メソッドは、Post および Put であってもパラメーターを取りません。最後に、エディターがヘッダーでデータを渡していることがわかり、Request.Body でアクセスできることがわかりました。そこから、実際の更新を行っているのは Datatables dll でなければなりません。