2010-08-06 57 views

回答

0

返回JSON對象,並呈現在jQuery的div的,你可以使用這個chain.js

+0

客戶機器的性能因素會在您的建議中出現? – 2010-08-09 02:54:19

+0

由於您已經在使用jQuery,客戶端機器的性能已經是一個因素。如果您要返回一個json對象,那麼您的服務器的性能將比從服務器創建DOM元素快得多。從服務器回來的速度越快,客戶端等待回覆的次數越少。並且渲染DOM jQuery在性能上並不是很重要的因素。 – 2010-08-09 03:04:10

+0

所以也許可以安全地說,我應該監視通過服務器端或客戶端呈現之間的性能。也許我真正要問的是銀彈,它不存在。謝謝,我現在開悟了。 – 2010-08-09 03:08:48

0

如果你仔細想想,你會經常來兩個結論:

  • 「預渲染」 HTML服務器端和全包通過網絡發送到瀏覽器

    =更多的流量,更快的渲染,客戶少的CPU使用率

  • 只發送數據&指令(例如, JSON)

    =通過線路車輛少,更多的客戶端CPU使用率,可能要慢渲染

所以它實際上它取決於你的需求。有多少人將訪問您的數據等等。

+0

我假設你是同一個人,如果你這樣做的話,你在考慮這些因素時的條件是什麼?謝謝! – 2010-08-09 02:53:42

0

這是一個典型的jQuery AJAX調用web服務來獲取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); 
        } 
    }); 
    

你的web服務:

[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>"} 
+0

感謝您的建議,但我的問題是相反的。 – 2010-08-09 02:52:53

相關問題