ページの読み込み時に入力される dataTable があります。そのdataTableでforeachを使用して、クライアント側でテーブルにデータを入力しています。ここで、ユーザーがいくつかの検索条件を入力すると、もう一度データを取得して結果を再表示したいと考えています。
更新パネルの使用を避けたかったのです。
そこで、コード ビハインドで静的メソッドを作成し、ajax 呼び出しから渡されたパラメーターを受け取りながら、データベースから必要な取得を行いました。JavaScript で ajax 呼び出しを作成し、データを渡しました。
ajax は正しいデータで呼び出しを行い、私のデータはデータベースから取得されます。私のdataTable値が設定されています。テーブルを新しいデータで更新する方法がわかりません。
html コードの foreach セクションを再起動する必要があるかのようです。
何か案は?
私のJavaScript関数
$('#btnRunSearch').click(function () {
$.ajax({
type: "POST",
url: "Home.aspx/GetInspectionData",
data: "{'insp':'00000000-0000-0000-0000-000000000000',
'searchVal':'',
'startDate':'2013-03-01',
'endDate':'2013-04-01',
'agent':'',
'status':0, 'sortexp':''}",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (msg) {
}
});
});
私のHTML
<tbody>
<%
foreach (System.Data.DataRow dr in dtInspections.Rows)
{
%>
<tr>
<td>
サーバー側の背後にあるコード
[WebMethod]
public static bool GetInspectionData(string insp,
string searchVal, string startDate, string endDate,
string agent, int status, string sortexp)
{
// this.SetFiltersToSession();
int intCurrentCompany = login.GetCurrentlyLoggedInInspectorCompany();
Guid inspector = new Guid(insp);
DataSet ds = Bizlogic.cBizLogicBaseClass.GetGenDataAccess().
GetDataSet("usp_Get_SearchInspections", "Inspections",
true,
intCurrentCompany,
inspector,
searchVal,
startDate,
endDate,
agent,
status,
sortexp);
//dtInspections is the dataTable that is used to populate the table
dtInspections = ds.Tables[0];
return true;
}