<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET &amp; AJAX</title><link>https://www.dotnetzone.gr:443/cs/forums/170/ShowForum.aspx</link><description>Θέματα για web εφαρμογές που έχουν σχέση με AJAX τεχνολογίες</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: jQuery Ajax με JSON από Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/68862.aspx</link><pubDate>Sun, 08 Jan 2012 00:28:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:68862</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/68862.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=170&amp;PostID=68862</wfw:commentRss><description>Τελικά όλα ΟΚ!!!!!&lt;br&gt;Ο τελικός κώδικας με τον οποίο έπαιξε είναι ο:&lt;br&gt;&lt;br&gt;&lt;table width="100%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; Categories &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; jQuery.parseJSON(response.d);
 $.each(Categories.Table, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;index&lt;/span&gt;, Category) {
          ddlCategory.append('&amp;lt;option value=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"' + Category.CategoryID + '"&lt;/span&gt;&amp;gt;' &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; Category.CategoryName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; '&amp;lt;/option&amp;gt;');
                     });&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Υπήρχε το πρόβλημα που ανεφερες με το WebService που επεστρεφε ένα απλό string, ενω χρειαζότανε το Json αντικειμενο.&lt;br&gt;&lt;br&gt;Επιπλέον στο WebService χρησιμοποίησα την βιβλιοθηκη JSON.Net για την μετατροπή του dataset σε string.&lt;br&gt;&lt;br&gt;&lt;table width="100%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;using&lt;/span&gt; Newtonsoft.Json;

......

[WebMethod]
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; GetAllGategories()
        {
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; strCon &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MasterDataJQuery.ClsWebConfig.GetConnectionString();
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT CategoryID, CategoryName FROM Categories Where CategoryID&amp;lt;3 ORDER BY CategoryName"&lt;/span&gt;;
            OleDbDataAdapter da &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbDataAdapter(strSql, strCon);
            DataSet ds &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; DataSet();
            da.Fill(ds);

            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; json &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; JsonConvert.SerializeObject(ds, Formatting.Indented);
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; json;
        }&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Τώρα πλέον το dropdown γεμιζει σωστά. Θα μπορούσα στην παραπάνω υλοποίηση να βελτιστοποιήσω κάτι;&lt;br&gt;</description></item><item><title>Απ: jQuery Ajax με JSON από Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/68861.aspx</link><pubDate>Sat, 07 Jan 2012 23:38:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:68861</guid><dc:creator>tasos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/68861.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=170&amp;PostID=68861</wfw:commentRss><description>&lt;b&gt;Σχετικά με το response.d&lt;/b&gt;&lt;br&gt;Έτρεξα το εξής:&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; Categories &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; {&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Table"&lt;/span&gt;:[{&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryID"&lt;/span&gt;:1,&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryName"&lt;/span&gt;:&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Beverages"&lt;/span&gt;},{&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryID"&lt;/span&gt;:2,&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryName"&lt;/span&gt;:&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Condiments"&lt;/span&gt;}]};

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; handle_data() {
    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; ddlCategory &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; $('#data');
    $.each(Categories.Table, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;index&lt;/span&gt;, Category) {
        ddlCategory.append('&amp;lt;option value=&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"' + Category.CategoryID + '"&lt;/span&gt;&amp;gt;' &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; Category.CategoryName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; '&amp;lt;/option&amp;gt;');
    });
}&lt;/span&gt;&lt;/pre&gt;το οποίο τρέχει σωστά. Το response.d που είναι στο κώδικα σου είναι ένα JSON element το οποίο περιέχει ένα Table. Είναι στην ουσία ένα datset (σε JSON) και περιέχει datatables. Οπότε στο javascript πρέπει να γράψεις σε ποιο datatable θέλεις κάνεις το iteration. &lt;br&gt;&lt;br&gt;&lt;b&gt;Σχετικά με τη μετατροπή string2json&lt;/b&gt;&lt;br&gt;Τώρα, αν αλλάξω το Categories να είναι ένα string όπως αυτό:&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; Categories &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; '{&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Table"&lt;/span&gt;:[{&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryID"&lt;/span&gt;:1,&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryName"&lt;/span&gt;:&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Beverages"&lt;/span&gt;},{&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryID"&lt;/span&gt;:2,&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"CategoryName"&lt;/span&gt;:&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Condiments"&lt;/span&gt;}]}';&lt;/span&gt;&lt;/pre&gt;παίρνω ένα ddl με πάρα πολλά undefined elements. Τα undefined elements είναι τόσα όσα και οι χαρακτήρες του παραπάνω string. &lt;br&gt;&lt;br&gt;Άρα με βάση το παραπάνω η web method σου επιστρέφει string και όχι κάποιο JSON αντικείμενο. Η συνάρτηση που χρησιμοποιείς είναι σωστά, αλλά όταν η web method απαντάει επιστρέφει string. πρέπει να κάνεις μία μετατροπή και στο client ώστε να πάρεις το JSON αντικείμενο. &lt;br&gt;&lt;br&gt;Υπάρχει η σχετική συνάρτηση της &lt;a href="http://api.jquery.com/jQuery.parseJSON/"&gt;jQuery.parseJSON(string)&lt;/a&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: jQuery Ajax με JSON από Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/68860.aspx</link><pubDate>Sat, 07 Jan 2012 22:17:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:68860</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/68860.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=170&amp;PostID=68860</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;tasos:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Εφόσον το response.d είναι json δοκίμασε να γράψεις&lt;br&gt;&lt;br&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; Categories &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; response.d.Table;&lt;/span&gt;&lt;br&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;Μία ερώτηση: Τα undefined που δημιουργούνται πόσα είναι;&lt;br&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;b&gt;Edit&lt;/b&gt;: Τώρα είδα τη 2η απάντηση σου. Από αυτό που λες καταλαβαίνω πως το response.d δεν είναι json αντικείμενο αλλά ένα απλό string. &lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Τα undefined που δημιουργούνται είναι τόσα όσα τα iterations που κάνει το each. &lt;br&gt;Δεν κατάλαβα αυτό που αναφερεις για το response.d. Στο firebug το response.d που παιρνω πριν αρχισω το iternation ειναι το ακόλουθο:&lt;br&gt;&lt;i&gt;&lt;b&gt;{"Table":[{"CategoryID":1,"CategoryName":"Beverages"},{"CategoryID":2,"CategoryName":"Condiments"}]}&lt;/b&gt;&lt;/i&gt;&lt;br&gt;το οποίο έχει προκύψει από το παρακάτω webservice:&lt;br&gt;&lt;table width="100%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;[WebMethod]
        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; GetAllGategories()
        {
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; strCon &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MasterDataJQuery.ClsWebConfig.GetConnectionString();
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; strSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"SELECT CategoryID, CategoryName FROM Categories Where CategoryID&amp;lt;3 ORDER BY CategoryName"&lt;/span&gt;;
            OleDbDataAdapter da &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; OleDbDataAdapter(strSql, strCon);
            DataSet ds &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; DataSet();
            da.Fill(ds);

            JavaScriptSerializer serializer &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; JavaScriptSerializer();
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; json &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; serializer.Serialize(JsonMethods.ToJson(ds));

            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;return&lt;/span&gt; json;
        }&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Για την μετατροπή του DataSet σε Json format χρησιμοποίησα το JsonMethods που περιέχει μια έτοιμη public function (ToJson) για την αυτόματη μετατροπή του dataset σε Json&lt;br&gt;http://schotime.net/blog/index.php/2008/07/27/dataset-datatable-to-json/&lt;br&gt;Μήπως τελικά το Json που δημιουργειται δεν ειναι το σωστό;;;;;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: jQuery Ajax με JSON από Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/68859.aspx</link><pubDate>Sat, 07 Jan 2012 21:59:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:68859</guid><dc:creator>tasos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/68859.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=170&amp;PostID=68859</wfw:commentRss><description>Εφόσον το response.d είναι json δοκίμασε να γράψεις&lt;br&gt;&lt;br&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; Categories &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; response.d.Table;&lt;/span&gt;&lt;br&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;Μία ερώτηση: Τα undefined που δημιουργούνται πόσα είναι;&lt;br&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;b&gt;Edit&lt;/b&gt;: Τώρα είδα τη 2η απάντηση σου. Από αυτό που λες καταλαβαίνω πως το response.d δεν είναι json αντικείμενο αλλά ένα απλό string. &lt;br&gt;</description></item><item><title>Απ: jQuery Ajax με JSON από Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/68858.aspx</link><pubDate>Sat, 07 Jan 2012 21:52:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:68858</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/68858.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=170&amp;PostID=68858</wfw:commentRss><description>Βαζοντας ένα έλεγχο εντός του each, διαπιστωσα ότι το Category σε κάθε επανάληψη εμφανίζει στο alert ενα χαρακτήρα κάθε φορα από το παρακάτω αλφαριθμητικό:&lt;br&gt;&lt;b&gt;&lt;span class="objectBox objectBox-string "&gt;"{"Table":[{"CategoryID":1,"CategoryName":"Beverages"},{"CategoryID":2,"CategoryName":"Condiments"}]}"&lt;/span&gt;&lt;/b&gt;&lt;br&gt;Δηλαδή παίνω στο output (από το alert) κάθε φορά μέσα στο loop:&lt;br&gt;1 loop: "{"&lt;br&gt;2 loop: "T"&lt;br&gt;3 loop: "a"&lt;br&gt;4 loop: "b"&lt;br&gt;.......&lt;br&gt;&lt;table width="100%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;$.each(Categories, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;index&lt;/span&gt;, Category) {
                         &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (typeof (Category.CategoryID) === '&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;undefined&lt;/span&gt;') {
                             alert(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;""&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; Category);
                         }
                         ddlCategory.append('&amp;lt;option value=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"' + Category.CategoryID + '"&lt;/span&gt;&amp;gt;' &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; Category.CategoryName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; '&amp;lt;/option&amp;gt;');
                     });
                 },&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;</description></item><item><title>Απ: jQuery Ajax με JSON από Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/68857.aspx</link><pubDate>Sat, 07 Jan 2012 20:38:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:68857</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/68857.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=170&amp;PostID=68857</wfw:commentRss><description>Μέσα από το firebug βάζοντας breakpoint στο Categories&lt;i&gt; (var Categories=response.d)&lt;/i&gt; πάιρνω το ακόλουθο output:&lt;br&gt;&lt;b&gt;&lt;span class="objectBox objectBox-string "&gt;"{"Table":[{"CategoryID":1,"CategoryName":"Beverages"},{"CategoryID":2,"CategoryName":"Condiments"}]}"&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;Μετά ακολουθώντας το παράδειγμα &lt;br&gt;http://www.ezzylearning.com/tutorial.aspx?tid=5869127&amp;amp;q=using-jquery-ajax-json-and-asp-net-web-services&lt;br&gt;&lt;br&gt;κάνω το iteration για να πάρω τις αντιστοιχες τιμες από τα CategoryIG &amp;amp; CategoryName και να τα κανω append στο dropdown.&lt;br&gt;&lt;pre class="prettyprint"&gt;&lt;span class="com"&gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;table width="100%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; Categories &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; response.d;  
 $.each(Categories, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;index&lt;/span&gt;, Category) {  
           ddlCategory.append('&amp;lt;option value=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"' + Category.CategoryID + '"&lt;/span&gt;&amp;gt;' &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; Category.CategoryName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; '&amp;lt;/option&amp;gt;');  
            });  &lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;span class="pln"&gt;Όμως αυτο που δεν μπορω να καταλάβω είναι γιατι μου βγαζει τα undefined. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="pln"&gt;Στο παραπάνω Json string εαν το αποκωδικοποιώ σωστά, περιλαμβάνει ένα object (Table) που έχει ένα array από άλλα object {}. Εκει φοβάμαι μήπως τελικά γίνεται το μπερδεμα, αλλά ακόμη δεν το έχω εντοπίσει.&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="pln"&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Απ: jQuery Ajax με JSON από Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/68855.aspx</link><pubDate>Sat, 07 Jan 2012 15:40:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:68855</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/68855.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=170&amp;PostID=68855</wfw:commentRss><description>&lt;p&gt;Αφού ο γεμίζεις το dropdownlist σου με &lt;em&gt;undefined&lt;/em&gt;, σημαίνει ότι ο Category object που παιρνάει το .each δεν είναι αυτό που φαντάζεσαι - το καλύτερο που έχεις να κάνεις είναι να βάλεις ένα &lt;strong&gt;debugger&lt;/strong&gt; statement πριν από το ddlCategory.append() και να δεις το αντικείμενο που έχεις σε εκείνο το σημείο, και να κάνεις διορθώσεις αντίστοιχα - είτε μέσα στο loop αν δεν έχεις τα ονόματα των ιδιοτήτων σωστά, είτε έξω από το loop αν δεν παίρνεις το σωστό αντικείμενο στο Categories.&lt;/p&gt;&lt;p&gt;Καταλαβαίνω τη χρησιμότητα να έχεις μια ρουτίνα να έχεις ένα service που σου γυρνάει JSON, αλλά γιατί δεν το κάνεις με πιο native τρόπους και απλούς τρόπους - δεν είναι ανάγκη είτε να φτιάχνεις μόνος σου το JSON είναι να&amp;nbsp;έχεις DataTable σαν τύπο σε αυτό που περνάς:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Αν παίζεις με DataSet, τα Datatables σου είναι strongtyped και δεν χρειάζεται το παραπάνω &lt;em&gt;κολπάκι&lt;/em&gt; για να τα λάβεις σαν JSON - απλά το web service θα γυρίζει το Datatable με τον τύπο τους και ο μηχανισμός του web service θα κάνει τα υπόλοιπα για σένα.&lt;/li&gt;&lt;li&gt;Αν θέλεις να μείνεις με την δύναμη να παράγεις μόνος σου το JSON, θα ήταν καλύτερα να πήγαινες σε πιο &lt;em&gt;ζόρικες&lt;/em&gt; λύσεις όπως το &lt;a href="http://json.codeplex.com/"&gt;Json.NET&lt;/a&gt; που θα κάνει το conevertion γρήγορα και σωστά, και ελέγχεις πως θα&amp;nbsp;μετατρέπονται&amp;nbsp;οι null τιμές των ιδιοτήτων&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;George J.&lt;br&gt;&lt;/p&gt;</description></item><item><title>jQuery Ajax με JSON από Dataset</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/68854.aspx</link><pubDate>Sat, 07 Jan 2012 05:34:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:68854</guid><dc:creator>koslyr</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/68854.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=170&amp;PostID=68854</wfw:commentRss><description>Χρησιμοποιησα το code snippet από &lt;img src="http://schotime.net/blog/index.php/2008/07/27/dataset-datatable-to-json/"&gt;http://schotime.net/blog/index.php/2008/07/27/dataset-datatable-to-json/ για να μετατρεψω ένα dataset σε Json format. &lt;br&gt;Πράγματι μέσω του firebug το Json που παίρνω από το αντίστοιχο WebService που καλώ είναι το:&lt;br&gt;&lt;i&gt;&lt;b&gt;{"Table":[{"CategoryID":1,"CategoryName":"Beverages"},{"CategoryID":2,"CategoryName":"Condiments"}]}&lt;/b&gt;&lt;/i&gt;&lt;br&gt;&lt;br&gt;Ακολουθως χρησιμοποιώ το παρακάτω script για να γεμίσω το αντιστοιχο dropdownlist μεσω jQuery Ajax Call.&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; GetAllCategories() {
             &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; ddlCategory &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; $('#DdlCategories');
             $.ajax({
                 type: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"POST"&lt;/span&gt;,
                 contentType: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"application/json; charset=utf-8"&lt;/span&gt;,
                 url: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"WSProducts.asmx/GetAllGategories"&lt;/span&gt;,
                 data: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"{}"&lt;/span&gt;,
                 dataType: &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"json"&lt;/span&gt;,
                 success: &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (response) {
                     &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;var&lt;/span&gt; Categories &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; response.d;
                     $.each(Categories, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;index&lt;/span&gt;, Category) {
                         ddlCategory.append('&amp;lt;option value=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"' + Category.CategoryID + '"&lt;/span&gt;&amp;gt;' &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt;     
                                                       Category.CategoryName &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; '&amp;lt;/option&amp;gt;');
                     });
                 },
                 error: &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;function&lt;/span&gt; (msg) {
                     alert(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Error"&lt;/span&gt;);
                 }
             });`&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Παρόλα αυτά στην εντολή στην γραμμή 11 κατι δεν του αρεσει με αποτέλεσμα να μην γεμιζει σωστά το dropdownlist, όπου συγκεκριμένα 'εχουν γινει append το αλφαριθμητικό "undefined". &lt;br&gt;Eχω δοκιμάσει αρκετες παραλλαγές στον παραπάνω κώδικα χωρίς επιτυχία.&lt;br&gt;</description></item></channel></rss>