jquery
  • asp.net-mvc
  • webforms
  • jquery-templates
  • 2012-07-10 70 views 1 likes 
    1

    將C#List綁定到jQuery模板的最佳方式是什麼? 我迄今發現的唯一方法是如下:將c#列表綁定到jQuery模板

    JavaScriptSerializer serializer = new JavaScriptSerializer(); 
    var jsonData = serializer.Serialize(ListOfObjects); 
    Response.Write("<script type='text/javascript'>var jsonData = " + jsonData + ";</script>"); 
    

    頁:

    $("div").html($("#myTemplate").tmpl(jsonData)); 
    
    <script id="myTemplate" type="text/x-jquery-tmpl"> 
        ${} 
    </script> 
    

    什麼更好的辦法來做到這一點?

    回答

    0

    不確定你的服務器端體系結構是什麼樣子,但是使用類似於本文所示的技術對Web服務(WCF或其他)或HttpHandler進行jQuery ajax調用會更乾淨:

    http://www.diplo.co.uk/blog/2011/3/1/using-jquery-templates-to-bind-to-json-data.aspx

    本例使用JSONP,如果沒有跨域調用,則不需要該JSONP。

    <script id="flickrTemplate" type="text/x-jquery-tmpl"> 
        <li>${title}</li> 
    </script> 
    
    <script type="text/javascript"> 
        $(document).ready(function() 
        { 
         $.ajax({ 
          url: "http://api.flickr.com/services/feeds/photos_public.gne", 
          data: "format=json", 
          jsonp: "jsoncallback", 
          dataType: "jsonp", 
          success: function(data) 
          { 
           $("#flickrTemplate").tmpl(data.items).appendTo("#placeholder"); 
          } 
         }); 
        }); 
    </script> 
    
    <ul id="placeholder"></ul> 
    
    0

    使用ASMX web服務,或WebMethod在你的ASPX頁面。NET很好的序列化到List<Object>一個JavaScript對象數組:

    [{Prop1: value, Prop2: value}, {Prop1: value2, Prop2: value2}] 
    

    瞭解更多信息

    https://stackoverflow.com/a/11314818/622129
    相關問題