1
SharepointソリューションでjQuery Datatableを実装しようとしています。私はHTMLと関数を正しく配置していると確信していますが、私が混乱しているのは、コードの中でメソッドを呼び出す方法です。ここでは、コードです:Sharepoint WebパーツのJQueryデータ型
HTML
<table
ID="tbl_FundingSummary"
style="width: 95%">
<tr>
<th style="width: 65%; text-align:left; padding-bottom:10px;">Research Area</th>
<th style="width: 15%; text-align:right; padding-bottom:10px;">Gross</th>
<th style="text-align:right; padding-bottom:10px;">All Gross</th>
</tr>
</table>
jQueryの
<script>
$(document).ready(function() {
if ($.fn.dataTable.isDataTable('#tbl_FundingSummary')) {
t.destroy();
}
t = $("#tbl_FundingSummary").DataTable({
processing: true,
serverSide: true,
info: true,
ajax: {
url: '../DashboardJQD/DashboardJQDUserControl/GetFundingData',
data: function (data) {
delete data.columns;
}
},
columns: [
{ "data": "PlName" },
{ "data": "FundingGross" },
{ "data": "AllGross" }
],
order: [[0, 'desc']],
select: true,
dom: 'lfrtip',
responsive: true,
buttons: true
});
t.on('order.dt search.dt', function() {
t.column(0, { search: 'applied', order: 'applied' }).nodes().each(function (cell, i) {
cell.innerHTML = i + 1;
});
}).draw();
});
namespace DashboardJQD
{
public partial class DashboardJQDUserControl : UserControlWithControllerBase<DashboardController>
{
private string GetFundingData()
{
var methodStart = DateTime.Now;
const string methodName = "GetFundingData";
var year = 0;
MyFundingResponse fundingData = null;
//TEST STUB
//year = DateTime.Now.Year;
year = 2015;
fundingData = Controller.GetFundingData(CurrentUser.UserId, CompanyGroupCode, year.ToString());
if (fundingData == null)
{
RaiseMessage("No data found for this combination");
return null;
}
var serializer = new JavaScriptSerializer();
var serializedResult = serializer.Serialize(fundingData.Summary);
return serializedResult;
}
}}
私は私は考えていないWebパーツASCXの背後
コードURLを正しく呼び出すしかし、どんな洞察も認められるだろう。
メソッドを公開するようにしましたか? – mafafu
はい、まだ404エラーが発生しています – TrevorGoodchild
ヒットできるURLがないため、過去にascxコントロールからWebメソッド/コントローラを起動するのに問題がありました。メソッドを別のサービスまたはApiControllerでホストする必要があるかもしれません。もう一つの選択肢は、ロードイベントの中であなたのコントロールにテーブルを書いて、jQueryのそのテーブル要素のデータテーブルコンストラクタを呼び出すことです。データを取得するために非同期のクライアント呼び出しが必要ない場合。 – mafafu