通过jquery和ajax渲染重复div的最佳方法是什么?

时间:2010-08-06 10:52:07

标签: asp.net jquery ajax

我通常会做的是在webservice中生成html然后在jquery上显示它...我打赌有更好的方法。帮助!

3 个答案:

答案 0 :(得分:0)

在您的Web服务中返回json对象并在jquery中呈现div,您可以使用此chain.js

答案 1 :(得分:0)

如果你仔细想想,你总会得出两个结论:

  • “预渲染”HTML服务器端并将整个包发送到浏览器

    =线路上的流量更多,渲染速度更快,客户端CPU使用率更低

  • 仅发送数据&说明(例如JSON)

    =线路流量减少,客户端CPU使用率增加,渲染速度可能会降低

所以它实际上取决于你的需求。有多少人要访问您的数据等。

答案 2 :(得分:0)

以下是对web服务的典型jQuery AJAX调用,以获取div数据以及如何处理它。

假设:

  • 您正在将divId传递给服务以获取特定div。您可以更改数据变量中发送的参数,以满足您自己的需求,只要它们与WebMethod的参数匹配。
  • 您知道要将结果放在何处:targetLocation

    $ajax({ type: "POST",         
       url: "WebServices/YourService.asmx/GetDivs",
       data: "{'divToGetId' :'" + divId + "'}",
       dataType: "json",
       contentType: 'application/json; charset=utf-8',
       success: function(json) {
          var result = eval("(" + json.d + ")");
          $(targetLocation).html(result.value);
       }
    });
    

您的网络服务:

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod(EnableSession = true)]
public string GetDivs(string divId)
{
    return DivProvider.GetChildDivs(divId);
}

你的json应该像以下那样返回:

{"value": "<div>contents of div 1</div><div>contents of div 2</div>"}