<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/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 AJAX Discussion and Suggestions</title><link>http://forums.asp.net/1007.aspx</link><description>This forum is the place for ASP.NET AJAX 'getting started' questions, general questions that don't fit in one of the other forums about AJAX </description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: Web Service returning a datatable with Atlas Beta 1</title><link>http://forums.asp.net/thread/1459933.aspx</link><pubDate>Fri, 10 Nov 2006 06:55:31 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1459933</guid><dc:creator>jhlmr2</dc:creator><author>jhlmr2</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1459933.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=1459933</wfw:commentRss><description>&lt;p&gt;Maybe bug of Sys.Preview.Data.DataTable creator.&lt;/p&gt;
&lt;p&gt;In&amp;nbsp;Microsoft.Web.Resources.ScriptLibrary.PreviewScript.js, when the Sys.Preview.Data.DataTable instance create,&lt;/p&gt;
&lt;p&gt;to compare&amp;nbsp;Array type&amp;nbsp;and arguments tbl.columns and&amp;nbsp;&amp;nbsp;tblrows is mistake.&lt;/p&gt;
&lt;p&gt;Hence, I'll modify the client source as follow.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;function Button1_onclick() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var results = GauceWebService.Select(OnSuccess);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;function OnSuccess(result)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tblrows = new Array();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tblcols = new Array();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var strRowsData = "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var strColssData = "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (result != null) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //debugger;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result.dataArray = result.dataArray.slice(0, result.dataArray.length-1);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strRowsData = result.dataArray.substring(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strRowsData = strRowsData.substring(0, strRowsData.length-1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tblrows = strRowsData.split("},{");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(var j=0; j&amp;lt; tblrows.length; j++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j==0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tblrows[j] = tblrows[j].toString().substring(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(j==tblrows.length-1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tblrows[j] = tblrows[j].toString().substring(0, tblrows[j].toString().length-1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strColssData = result.columns.substring(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strColssData = strColssData.substring(0, strColssData.length-1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //alert("strColssData = " + strColssData); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tblcols = strColssData.split("),");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(var j=0; j&amp;lt; tblcols.length; j++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j&amp;lt; tblcols.length-1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tblcols[j] = tblcols[j].toString() + ")";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //result = new Sys.Preview.Data.DataTable(result.columns, tblrows);&amp;nbsp; // Maybe result.columns and tblrows type are string...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = new Sys.Preview.Data.DataTable(tblcols, tblrows);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //alert("result.get_length() = " + result.get_length());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; result.get_length(); i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var row = result.getItem(i);&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert("Row[" + (i+1) + "] \r\n" + "Name=" + getProperty(row, "Name") + "\r\n" + "LastName=" + getProperty(row, "LastName") + "\r\n" + "Email=" + getProperty(row, "Email"));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //alert("Name=" + row.getProperty("Name") + "," + "LastName=" + row.getProperty("LastName") + "," + "Email=" + row.getProperty("Email"));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;function getProperty(rowObj, name)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var rowstring = rowObj._row;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var strColValue = "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var strKeyName = "\"" + name + "\":";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var nLastIndex = rowstring.lastIndexOf(strKeyName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(nLastIndex == -1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var strTmpValue = rowstring.substring(nLastIndex + strKeyName.length-1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(strTmpValue.indexOf(",") == -1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strColValue = strTmpValue.substring(2, strTmpValue.length-1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strColValue = strTmpValue.substring(2, strTmpValue.indexOf(",")-1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return strColValue;&lt;br /&gt;}&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Web Service returning a datatable with Atlas Beta 1</title><link>http://forums.asp.net/thread/1458482.aspx</link><pubDate>Thu, 09 Nov 2006 09:01:13 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1458482</guid><dc:creator>jhlmr2</dc:creator><author>jhlmr2</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1458482.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=1458482</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;I use Preview CTP Norvember Beta assembly, and make client source as follow.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;tbl = new Sys.Preview.Data.DataTable(tbl.columns, tblrows);&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;No matter how tbl.columns and tblrows is not null,&amp;nbsp;I get the result zero of&amp;nbsp;&amp;nbsp;tbl.get_length(); &lt;/p&gt;
&lt;p&gt;Why?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Web Service returning a datatable with Atlas Beta 1</title><link>http://forums.asp.net/thread/1443985.aspx</link><pubDate>Fri, 27 Oct 2006 14:13:52 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1443985</guid><dc:creator>Wallym</dc:creator><author>Wallym</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1443985.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=1443985</wfw:commentRss><description>Thanks William.  This is good info.&lt;br /&gt;&lt;br /&gt;Wally&lt;br /&gt;&lt;br /&gt; wrote in message news:1443001@forums.asp.net...&lt;br /&gt;&gt; OK. I think after digging around I've got it. At least it appears as such.&lt;br /&gt;&gt;&lt;br /&gt;&gt; First thing, after adding a reference to the Preview CTP Beta assembly, &lt;br /&gt;&gt; and adding the converter for the data table to your web.config, then make &lt;br /&gt;&gt; sure you add the PreviewScript.js to your project, and add a reference to &lt;br /&gt;&gt; it in your pages ScriptReference tag, in the ScriptManager. Then, once you &lt;br /&gt;&gt; have that, then you can instantiate a new DataTable, like so:&lt;br /&gt;&gt;&lt;br /&gt;&gt; &lt;br /&gt;&gt;&lt;br /&gt;&gt; onGetAllTabsComplete: function(tbl) {&lt;br /&gt;&gt;                if (tbl != null) {&lt;br /&gt;&gt;                    eval('var tblrows = ' + tbl.dataArray.slice(0, &lt;br /&gt;&gt; tbl.dataArray.length-1) + ';');            &lt;br /&gt;&gt; THERE'S A BUG, SINCE THE dataArray has a trailing ')'.&lt;br /&gt;&gt;                    tbl = new Sys.Preview.Data.DataTable(tbl.columns, &lt;br /&gt;&gt; tblrows);&lt;br /&gt;&gt;                    for (var i = 0; i &lt;br /&gt;&gt;                        var row = tbl.getItem(i);&lt;br /&gt;&gt;                        _editor.createTabNode(row.getProperty("ID"), &lt;br /&gt;&gt; row.getProperty("Title"), row.getProperty("MenuItemID"));&lt;br /&gt;&gt;                    }&lt;br /&gt;&gt;                }&lt;br /&gt;&gt;&lt;br /&gt;&gt; &lt;br /&gt;&gt;&lt;br /&gt;&gt;&lt;br /&gt;&gt; Atlas team, what in the hell is up?! This is, frankly, one of the most &lt;br /&gt;&gt; bass-ackwards releases I've ever seen from you guys. How, after so many &lt;br /&gt;&gt; friggin CTP's, do you just bust out and drop this crap on us.&lt;br /&gt;&gt;&lt;br /&gt;&gt; Pissed in San Antonio,&lt;br /&gt;&gt;&lt;br /&gt;&gt; William&lt;br /&gt;&gt;&lt;hr align="left"&gt;Listen to the ASP.NET Podcast @ &lt;a href="http://www.aspnetpodcast.com/"&gt;http://www.aspnetpodcast.com/&lt;/a&gt;</description></item><item><title>Re: Web Service returning a datatable with Atlas Beta 1</title><link>http://forums.asp.net/thread/1443001.aspx</link><pubDate>Thu, 26 Oct 2006 20:04:52 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1443001</guid><dc:creator>wleary</dc:creator><author>wleary</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1443001.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=1443001</wfw:commentRss><description>&lt;p&gt;OK. I think after digging around I&amp;#39;ve got it. At least it appears as such.&lt;/p&gt;&lt;p&gt;&amp;nbsp;First thing, after adding a reference to the Preview CTP Beta assembly, and adding the converter for the data table to your web.config, then make sure you add the PreviewScript.js to your project, and add a reference to it in your pages ScriptReference tag, in the ScriptManager. Then, once you have that, then you can instantiate a new DataTable, like so:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;lt;snip&amp;gt;&lt;/p&gt;&lt;p&gt;onGetAllTabsComplete: function(tbl) { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (tbl != null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eval(&amp;#39;var tblrows = &amp;#39; + tbl.dataArray.slice(0, tbl.dataArray.length-1) + &amp;#39;;&amp;#39;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;-- NOTE THIS LINE.&amp;nbsp;I THINK THERE&amp;#39;S A BUG, SINCE THE dataArray has a trailing &amp;#39;)&amp;#39;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbl = new Sys.Preview.Data.DataTable(tbl.columns, tblrows);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; tbl.get_length(); i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var row = tbl.getItem(i);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _editor.createTabNode(row.getProperty(&amp;quot;ID&amp;quot;), row.getProperty(&amp;quot;Title&amp;quot;), row.getProperty(&amp;quot;MenuItemID&amp;quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;lt;/snip&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Atlas team, what in the hell is up?! This is, frankly, one of the most bass-ackwards releases I&amp;#39;ve ever seen from you guys. How, after so many friggin CTP&amp;#39;s, do you just bust out and drop this crap on us. &lt;/p&gt;&lt;p&gt;Pissed in San Antonio,&lt;/p&gt;&lt;p&gt;William&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Web Service returning a datatable with Atlas Beta 1</title><link>http://forums.asp.net/thread/1442926.aspx</link><pubDate>Thu, 26 Oct 2006 19:05:24 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1442926</guid><dc:creator>wleary</dc:creator><author>wleary</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1442926.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=1442926</wfw:commentRss><description>&lt;p&gt;Made slight progress. Reflected the code and found the DataTableConverter in the Preview assembly that comes with the CTP Beta. Added the following to my web.config:&lt;/p&gt;&lt;font color="#0000ff" size="1"&gt;&lt;p&gt;&amp;lt;&lt;font color="#800000" size="1"&gt;jsonSerialization&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="1"&gt;maxJsonLength&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;=&lt;/font&gt;&lt;font size="1"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;5000000&lt;/font&gt;&lt;font size="1"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&amp;gt;&lt;p&gt;&amp;lt;&lt;font color="#800000" size="1"&gt;converters&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&amp;gt;&lt;p&gt;&amp;lt;&lt;font color="#800000" size="1"&gt;add&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="1"&gt;name&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;=&lt;/font&gt;&lt;font size="1"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;DataTableConverter&lt;/font&gt;&lt;font size="1"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="1"&gt;type&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;=&lt;/font&gt;&lt;font size="1"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;Microsoft.Web.Preview.Script.Serialization.Converters.DataTableConverter&lt;/font&gt;&lt;font size="1"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;/&amp;gt;&lt;p&gt;&amp;lt;/&lt;font color="#800000" size="1"&gt;converters&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&amp;gt;&lt;p&gt;&amp;lt;/&lt;font color="#800000" size="1"&gt;jsonSerialization&lt;/font&gt;&lt;font color="#0000ff" size="1"&gt;&amp;gt;&lt;p&gt;But, the DataTable that gets returned is missing methods it used to have, such as get_length().&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;p&gt;Argh. This just sucks.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Web Service returning a datatable with Atlas Beta 1</title><link>http://forums.asp.net/thread/1442908.aspx</link><pubDate>Thu, 26 Oct 2006 18:55:45 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1442908</guid><dc:creator>wleary</dc:creator><author>wleary</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1442908.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=1442908</wfw:commentRss><description>I&amp;#39;m having same issue. Supposedly the changes doc suggests the CTP Beta supports the Data classes, but I see no direction on how to do that.</description></item><item><title>Web Service returning a datatable with Atlas Beta 1</title><link>http://forums.asp.net/thread/1442553.aspx</link><pubDate>Thu, 26 Oct 2006 15:27:23 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1442553</guid><dc:creator>Wallym</dc:creator><author>Wallym</author><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1442553.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1007&amp;PostID=1442553</wfw:commentRss><description>&lt;div&gt;&lt;font face="Arial" size="2"&gt;I&amp;#39;m having a problem trying to get a dataset/datatable from a web service with Atlas Beta 1 that was just released.&amp;nbsp; The problem seems to occur before the data is sent through 
the web service and occurs on the server.&amp;nbsp; The specific error is below.&amp;nbsp; It is 
very similar to an error that I got with the first public bits in Sept. 2005.&amp;nbsp; I am manually creating the datatable and sending it out on the web service.&amp;nbsp; The datatable itself is fairly simple.&amp;nbsp; This code worked with the July CTP.&amp;nbsp; If you have any suggestions, let me know.&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div id="ExceptionInfo" style="visibility:visible;"&gt;Message: A circular reference 
was detected while serializing an object of type 
&amp;#39;System.Reflection.Module&amp;#39;.&lt;br /&gt;Stack Trace: at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o, 
StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o, 
StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o, 
StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o, 
StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o, 
StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeEnumerable(IEnumerable 
enumerable, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o, 
StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValueInternal(Object 
o, StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o, 
StringBuilder sb, Int32 depth) at 
Microsoft.Web.Script.Serialization.JavaScriptSerializer.Serialize(Object obj) at 
Microsoft.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, 
WebServiceMethodData methodData, IDictionary`2 rawParams) at 
Microsoft.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext 
context, WebServiceMethodData methodData)&lt;br /&gt;Exception Type: 
System.InvalidOperationException&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</description></item></channel></rss>