我希望在返回经典ASP表单中的分页搜索结果时消除回发。我以为我会使用JQuery按照标准访问ASP页面并从服务器返回结果以显示在表格中。
我应该在这里使用JSON吗?以表格形式返回数据的最有效方法是什么?我想这些选项是在从SQL返回的数据上添加标记,或者让SQL添加表示元素。
答案 0 :(得分:1)
您可以编写一个asp文件来查询数据库并编写渲染表所需的所有HTML,接下来您可以编写一些jQuery来替换表,如下所示:
var LastSearchCriteria = '';
function getMyQuery(){
if (LastSearchCriteria != $.trim($("#txtSearchCriteria").val)
{
$.ajax({
type:"POST",
url: "MyQueryToDataBase.asp",
dataType: "application/x-www-form-urlencoded",
data: "Action=DoSearch&SearchCriteria="
+ jQuery.trim($("#txtSearchCriteria").val()),
async: true,
beforeSend : function(){
$("#Loading").show(); //gif... just feed back
LastSearchCriteria = $.trim($("#txtSearchCriteria").val());
},
success: function(msg){
$("select[id$=MyTable]").remove();
$("#fldMyTable").prepend(msg);
$("#Loading").hide();
}
})
}
}
答案 1 :(得分:0)
正如ITroubs所说,不要在数据库中构建HTML。
就个人而言,我发现在我的ASP页面中构建完整的HTML并且只是呈现HTML更容易,而不是以JSON格式返回匹配的结果,然后通过在jQuery中构建元素来显示它。我发现在ASP页面上编辑和维护HTML要比更改构建显示的javascript更容易。
但是,以JSON格式返回结果确实有其优点。它更简洁,更容易调试。它还可以让您在结果方面获得更大的灵活性。
答案 2 :(得分:0)
你可以使用jquery和像Flexigrid这样的产品。
此版本使用ASP作为后端。
http://jamesowers.co.uk/asp-tutorials/63/flexigrid-with-asp-version-2/
我用过它。