我有一个在页面加载时填充的数据表。我正在使用该数据表上的 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;
}