0
Sqlサーバーからデータを取得してJQuery DataTableを作成しようとしています。 これまでは、パラメータなしでC#関数を呼び出すことができましたが、パラメータを渡そうとすると、メソッド呼び出しは失敗しました。「val.fn.applyは関数ではありません」。どのようにC#関数にパラメータを渡すことができますか?DataTable AjaxSourceからパラメータを渡すには?
ここに、データテーブルを作成するJquery関数があります。前述のように、パラメータ(staffId)なしで動作しますが、fnServerParamsプロパティでは失敗します。
function getData(staffId) {
$('#gridStaffDetails').dataTable({
processing: true,
ajaxSource: '@Url.Action("GetStaffPositions", "UserAccount")',
fnServerParams: staffId,
destroy: true,
paging: false,
filter: false,
autoWidth: false,
sort: false
});
};
ここはJavascript関数の呼び出しです。ループ内にあります。
ここにはC#ActionResultメソッドがあります。
[HttpGet]
public ActionResult GetStaffPositions(int staffId)
{
try
{
// get staff positions for the given staffId from new view
List<StaffPositionsTitleView> staffPositionsTitleViewList = _service.GetStaffPositionsTitleViewList(staffId);
List<StaffPosition> staffPositionList = new List<StaffPosition>();
// map new view to List<StaffPosition>
staffPositionList = AutoMapper.Mapper.Map<List<StaffPositionsTitleView>, List<StaffPosition>>(staffPositionsTitleViewList);
return Json(new
{
data = staffPositionList.Select(x => new object[] { x.StaffId, x.Title })
}, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
throw ex;
}
}