jquery dataTableをサーバー側処理データで使用しています。私はserverside処理asp.net Webメソッドを使用しています。私はWebMethod1から 'WebMethod1'と 'WebMethod2'と2つのボタン 'Button1'と 'Button2'というボタン2をクリックすると2つのWebメソッドがあります。WebMethod1からデータを呼び出したいときにButton2をクリックします。jQueryデータテーブルにajaxsourceを再ロード
HTML
<button type="button" class="data-search" data-Get="Members" id="btnMemberSearch">Button1</button>
<button type="button" class="data-search" data-Get="Accounts" id="btnAccountSearch">Button1</button>
<table class="table table-hover" style="width:100%;" id="tblSearchList">
<thead id="tblSearchHead">
</thead>
</table>
のjQuery
ここvar columns='';
var tr='';
var functionName ='';
$(".member-search").click(function (e) {
e.preventDefault();
var searchfor = $(this).attr('data-Get');
if (searchfor == 'Members') {
tr = '<tr><th>MemberNo</th><th>Name</th><th>FatherName</th><th>Mobile</th><th>CitizenshipNo</th></tr>';
functionName = 'WebMethod1';
columns = [
{ data: "MemberNo" },
{ data: "Name" },
{ data: "FatherName" },
{ data: "Mobile" },
{ data: "CitizenshipNo" }];
}
else if (searchfor == 'Accounts) {
tr = '<tr><th>AccountNo</th><th>Name</th><th>MemberNo</th><th>Product</th></tr>';
functionName = 'WebMethod2';
columns = [{ data: "AccountNo" },
{ data: "Name" },
{ data: "MemberNo" },
{data:"Product"}
]
}
$('#tblSearchHead').children().remove();
$('#tblSearchHead').append(tr);
ajaxSource = '../Main/MemAndAcSearch.asmx/'+functionName;
table = $('#tblSearchList').DataTable({
bServerSide: true,
retrieve: true,
columns:columns,
sAjaxSource: ajaxSource,
sServerMethod: 'post',
bProcessing: true
}
});
});
問題はajaxsourceがリフレッシュされていないか、またはreloaded.After iがするまでと呼ばれる第一のクリックされたボタンからページ同じWebMethod属性を読み込むです私はページをリロードする。たとえば、ページを読み込んだ後Button1をクリックすると、Button2をクリックしてもWebMethod1が呼び出され、Button2をクリックするとWebMethod2が呼び出されます。
私はどのように私のAJAXソースをリロードできますか?
私の間違いは実際には違っていました。それは問題ではなかった –