<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.silverlight.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>Programming with JavaScript</title><link>http://forums.silverlight.net/forums/16.aspx</link><description>Discussions about programming Silverlight with JavaScript</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>Re: Javascript unable to get custom object from ASMX through Silverlight using DLL I created</title><link>http://forums.silverlight.net/forums/thread/230742.aspx</link><pubDate>Mon, 08 Jun 2009 22:33:03 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:230742</guid><dc:creator>lanfong</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/230742.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=16&amp;PostID=230742</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Thanks for your reply, Jonathan. The below are the repros&lt;br /&gt;&lt;br /&gt;Silverlight Project Name: SilverlightASPX&lt;br /&gt;C# Class Library Name: LanfLibrary&lt;br /&gt;WebService: LanfService&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;my dll&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="coloredcode"&gt;&lt;b id="1"&gt;1    &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System.Windows.Browser;
&lt;b id="2"&gt;2    &lt;/b&gt;&lt;span class="kwd"&gt;namespace&lt;/span&gt; LanfLibrary
&lt;b id="3"&gt;3    &lt;/b&gt;{
&lt;b id="4"&gt;4    &lt;/b&gt;  [ScriptableTypeAttribute]
&lt;b id="5"&gt;5    &lt;/b&gt;  &lt;span class="kwd"&gt;public class&lt;/span&gt; Student
&lt;b id="6"&gt;6    &lt;/b&gt;  {
&lt;b id="7"&gt;7    &lt;/b&gt;    [ScriptableMemberAttribute]
&lt;b id="8"&gt;8    &lt;/b&gt;    &lt;span class="kwd"&gt;public string&lt;/span&gt; Name { &lt;span class="kwd"&gt;get&lt;/span&gt;; &lt;span class="kwd"&gt;set&lt;/span&gt;; }
&lt;b id="9"&gt;9    &lt;/b&gt;
&lt;b id="10"&gt;10   &lt;/b&gt;    [ScriptableMemberAttribute]
&lt;b id="11"&gt;11   &lt;/b&gt;    &lt;span class="kwd"&gt;public int&lt;/span&gt; Age { &lt;span class="kwd"&gt;get&lt;/span&gt;; &lt;span class="kwd"&gt;set&lt;/span&gt;; }
&lt;b id="12"&gt;12   &lt;/b&gt;  }
&lt;b id="13"&gt;13   &lt;/b&gt;}
&lt;b id="14"&gt;14   &lt;/b&gt;
&lt;/pre&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Both my silverlight project and web service project &amp;quot;Add Reference&amp;quot; LanfLibrary&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;my LanfService&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;pre class="coloredcode"&gt;&lt;b id="1"&gt;1    &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; LanfLibrary;
&lt;b id="2"&gt;2    &lt;/b&gt;
&lt;b id="3"&gt;3    &lt;/b&gt;  [WebMethod]
&lt;b id="4"&gt;4    &lt;/b&gt;  &lt;span class="kwd"&gt;public&lt;/span&gt; LanfLibrary.Student GetStudent()
&lt;b id="5"&gt;5    &lt;/b&gt;  {
&lt;b id="6"&gt;6    &lt;/b&gt;    LanfLibrary.Student t = &lt;span class="kwd"&gt;new&lt;/span&gt; LanfLibrary.Student();
&lt;b id="7"&gt;7    &lt;/b&gt;    t.Age = 10;
&lt;b id="8"&gt;8    &lt;/b&gt;    t.Name = &lt;span class="st"&gt;&amp;quot;GetStudentFromWS&amp;quot;&lt;/span&gt;;
&lt;b id="9"&gt;9    &lt;/b&gt;    &lt;span class="kwd"&gt;return&lt;/span&gt; t;
&lt;b id="10"&gt;10   &lt;/b&gt;  }
&lt;/pre&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my silverlight project&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;pre class="coloredcode"&gt;&lt;b id="1"&gt;1    &lt;/b&gt;    &lt;span class="kwd"&gt;public string&lt;/span&gt; URL;&lt;br /&gt;&lt;b id="2"&gt;2    &lt;/b&gt;    &lt;span class="kwd"&gt;private&lt;/span&gt; LanfSvc.ServiceSoapClient client;&lt;br /&gt;&lt;b id="3"&gt;3    &lt;/b&gt;
&lt;b id="4"&gt;4    &lt;/b&gt;    &lt;span class="kwd"&gt;public&lt;/span&gt; Page()&lt;br /&gt;&lt;b id="5"&gt;5    &lt;/b&gt;    {&lt;br /&gt;&lt;b id="6"&gt;6    &lt;/b&gt;      InitializeComponent();&lt;br /&gt;&lt;b id="7"&gt;7    &lt;/b&gt;      &lt;span class="kwd"&gt;this&lt;/span&gt;.Loaded += &lt;span class="kwd"&gt;new&lt;/span&gt; RoutedEventHandler(Page_Loaded);&lt;br /&gt;&lt;b id="8"&gt;8    &lt;/b&gt;      HtmlPage.RegisterScriptableObject(&lt;span class="st"&gt;&amp;quot;Svc&amp;quot;&lt;/span&gt;, &lt;span class="kwd"&gt;this&lt;/span&gt;);&lt;br /&gt;&lt;b id="9"&gt;9    &lt;/b&gt;    }&lt;br /&gt;&lt;b id="10"&gt;10   &lt;/b&gt;
&lt;b id="11"&gt;11   &lt;/b&gt;    &lt;span class="kwd"&gt;void&lt;/span&gt; Page_Loaded(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;br /&gt;&lt;b id="12"&gt;12   &lt;/b&gt;    {&lt;br /&gt;&lt;b id="13"&gt;13   &lt;/b&gt;      BasicHttpBinding bind = &lt;span class="kwd"&gt;new&lt;/span&gt; BasicHttpBinding();&lt;br /&gt;&lt;b id="14"&gt;14   &lt;/b&gt;      EndpointAddress endpoint = &lt;span class="kwd"&gt;new&lt;/span&gt; EndpointAddress(URL);&lt;br /&gt;&lt;b id="15"&gt;15   &lt;/b&gt;      client = &lt;span class="kwd"&gt;new&lt;/span&gt; SilverlightASPX.LanfSvc.ServiceSoapClient(bind, endpoint);&lt;br /&gt;&lt;b id="16"&gt;16   &lt;/b&gt;      client.GetStudentCompleted += &lt;span class="kwd"&gt;new&lt;/span&gt; EventHandler(client_GetStudentCompleted);&lt;br /&gt;&lt;b id="17"&gt;17   &lt;/b&gt;    }&lt;br /&gt;&lt;b id="18"&gt;18   &lt;/b&gt;&lt;br /&gt;&lt;b id="19"&gt;19   &lt;/b&gt;&lt;br /&gt;&lt;b id="20"&gt;20   &lt;/b&gt;    &lt;span class="cmt"&gt;// This is called from aspx/html page to call the web service.&lt;/span&gt;&lt;br /&gt;&lt;b id="21"&gt;21   &lt;/b&gt;    [ScriptableMember]&lt;br /&gt;&lt;b id="22"&gt;22   &lt;/b&gt;    &lt;span class="kwd"&gt;public void&lt;/span&gt; GetStudentFromWebService(&lt;span class="kwd"&gt;string&lt;/span&gt; onSuccess)&lt;br /&gt;&lt;b id="23"&gt;23   &lt;/b&gt;    {&lt;br /&gt;&lt;b id="24"&gt;24   &lt;/b&gt;      client.GetStudentAsync(onSuccess);&lt;br /&gt;&lt;b id="25"&gt;25   &lt;/b&gt;    }&lt;br /&gt;&lt;b id="26"&gt;26   &lt;/b&gt;&lt;br /&gt;&lt;b id="27"&gt;27   &lt;/b&gt;    &lt;span class="cmt"&gt;// The callback method from webservice&lt;/span&gt;&lt;br /&gt;&lt;b id="28"&gt;28   &lt;/b&gt;    &lt;span class="kwd"&gt;void&lt;/span&gt; client_GetStudentCompleted(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, SilverlightASPX.LanfSvc.GetStudentCompletedEventArgs e)&lt;br /&gt;&lt;b id="29"&gt;29   &lt;/b&gt;    {&lt;br /&gt;&lt;b id="30"&gt;30   &lt;/b&gt;      &lt;span class="kwd"&gt;string&lt;/span&gt; onSuccess = (&lt;span class="kwd"&gt;string&lt;/span&gt;)e.UserState;&lt;br /&gt;&lt;b id="31"&gt;31   &lt;/b&gt;&lt;br /&gt;&lt;b id="32"&gt;32   &lt;/b&gt;      &lt;span class="kwd"&gt;if&lt;/span&gt; (e.Error == &lt;span class="kwd"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;b id="33"&gt;33   &lt;/b&gt;      {&lt;br /&gt;&lt;b id="34"&gt;34   &lt;/b&gt;        HtmlPage.Window.Invoke(onSuccess, e.Result);&lt;br /&gt;&lt;b id="35"&gt;35   &lt;/b&gt;      }&lt;br /&gt;&lt;b id="36"&gt;36   &lt;/b&gt;      &lt;span class="kwd"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;b id="37"&gt;37   &lt;/b&gt;      {&lt;br /&gt;&lt;b id="38"&gt;38   &lt;/b&gt;        HtmlPage.Window.Navigate(&lt;span class="kwd"&gt;new&lt;/span&gt; Uri(&lt;span class="st"&gt;&amp;quot;http:&lt;span class="cmt"&gt;//localhost:8989/index.asp?abc=&amp;quot; + e.Error), &amp;quot;_blank&amp;quot;);&lt;br /&gt;&lt;b id="39"&gt;39   &lt;/b&gt;        //MessageBox.Show(e.Error.ToString());&lt;/span&gt;&lt;br /&gt;&lt;b id="40"&gt;40   &lt;/b&gt;      }&lt;br /&gt;&lt;b id="41"&gt;41   &lt;/b&gt;    }&lt;br /&gt;&lt;b id="42"&gt;42   &lt;/b&gt;&lt;br /&gt;&lt;b id="43"&gt;43   &lt;/b&gt;&lt;br /&gt;&lt;b id="44"&gt;44   &lt;/b&gt;&lt;br /&gt;&lt;b id="45"&gt;45   &lt;/b&gt;    &lt;span class="cmt"&gt;//This was not working.&lt;br /&gt;&lt;b id="46"&gt;46   &lt;/b&gt;    //Even though LanfService uses same LanfLibrary, javascript doesn&amp;#39;t recognize it.&lt;/span&gt;&lt;br /&gt;&lt;b id="47"&gt;47   &lt;/b&gt;    [ScriptableMember]&lt;br /&gt;&lt;b id="48"&gt;48   &lt;/b&gt;    public LanfSvc.Student GetStudentFromWebService_Studen_DLL()&lt;br /&gt;&lt;b id="49"&gt;49   &lt;/b&gt;    {&lt;br /&gt;&lt;b id="50"&gt;50   &lt;/b&gt;      SilverlightASPX.LanfSvc.Student s = new SilverlightASPX.LanfSvc.Student();&lt;br /&gt;&lt;b id="51"&gt;51   &lt;/b&gt;&lt;br /&gt;&lt;b id="52"&gt;52   &lt;/b&gt;      s.Name = &amp;quot;&lt;/span&gt;GetFromLanfSvc.Student&lt;span class="st"&gt;&amp;quot;;&lt;br /&gt;&lt;b id="53"&gt;53   &lt;/b&gt;      s.Age = 12234;&lt;br /&gt;&lt;b id="54"&gt;54   &lt;/b&gt;      return s;&lt;br /&gt;&lt;b id="55"&gt;55   &lt;/b&gt;    }&lt;br /&gt;&lt;b id="56"&gt;56   &lt;/b&gt;&lt;br /&gt;&lt;b id="57"&gt;57   &lt;/b&gt;&lt;br /&gt;&lt;b id="58"&gt;58   &lt;/b&gt;&lt;br /&gt;&lt;b id="59"&gt;59   &lt;/b&gt;    &lt;span class="cmt"&gt;//This works fine. Javascript is able to retrieve age and name.&lt;/span&gt;&lt;br /&gt;&lt;b id="60"&gt;60   &lt;/b&gt;    [ScriptableMember]&lt;br /&gt;&lt;b id="61"&gt;61   &lt;/b&gt;    public Student GestStudentFromSilverlight_DLL()&lt;br /&gt;&lt;b id="62"&gt;62   &lt;/b&gt;    {&lt;br /&gt;&lt;b id="63"&gt;63   &lt;/b&gt;      SilverlightASPX.Student s = new SilverlightASPX.Student();&lt;br /&gt;&lt;b id="64"&gt;64   &lt;/b&gt;      s.Name =&amp;quot;&lt;/span&gt;&lt;span class="st"&gt;GestStudentFromSilverlight&lt;/span&gt;_DLL&amp;quot;;&lt;br /&gt;&lt;b id="65"&gt;65   &lt;/b&gt;      s.Age=123;&lt;br /&gt;&lt;b id="66"&gt;66   &lt;/b&gt;      &lt;span class="kwd"&gt;return&lt;/span&gt; s;&lt;br /&gt;&lt;b id="67"&gt;67   &lt;/b&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Line 48 and Line 28 is the place that&amp;#39;s not working!&lt;br /&gt;Getting student object directly from Silverlight is working, but getting student object returned by silverlight using web service call is NOT working.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;thanks again,&lt;br /&gt;&lt;br /&gt;Lanfong&lt;br /&gt;&lt;/pre&gt;</description></item><item><title>Re: Javascript unable to get custom object from ASMX through Silverlight using DLL I created</title><link>http://forums.silverlight.net/forums/thread/230386.aspx</link><pubDate>Mon, 08 Jun 2009 03:06:31 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:230386</guid><dc:creator>Jonathan Shen – MSFT</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/230386.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=16&amp;PostID=230386</wfw:commentRss><description>&lt;p&gt;Hi Lanfong,&lt;/p&gt;
&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;lanfong:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;do you mean that I have to call HtmlPage.RegisterScriptableObject(&amp;quot;myObject&amp;quot;, DLL_FROM_WEBSERVICE ); in my silverlight application??&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;I mean that you need to register the script on your silverlight application.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;lanfong:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;And sorry for my bad English I dont undestand what you mean by share a tiny repro. &lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;
&lt;p&gt;A tiny repro means a runnable sample code with the necessary code only.&amp;nbsp;&amp;nbsp; Would you please upload it to&amp;nbsp;some where and share the link here?&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jonathan&lt;/p&gt;</description></item><item><title>Re: Javascript unable to get custom object from ASMX through Silverlight using DLL I created</title><link>http://forums.silverlight.net/forums/thread/229678.aspx</link><pubDate>Fri, 05 Jun 2009 15:27:26 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:229678</guid><dc:creator>lanfong</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/229678.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=16&amp;PostID=229678</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="/Themes/silverlight/images/icon-quote.gif"&gt; &lt;strong&gt;Jonathan Shen – MSFT:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;&lt;p&gt;Hi Lanfong,&lt;/p&gt;
&lt;p&gt;Please make sure you have add &lt;/p&gt;
&lt;p&gt;WebApplication.Current.RegisterScriptableObject(&lt;span class="str"&gt;&lt;font color="#006080"&gt;&amp;quot;basic&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span class="kwrd"&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;/span&gt;); on your Load event.&amp;nbsp;&amp;nbsp; Based on your description, I suspect that the dynamically downed dll didn&amp;#39;t generate the js code for you.&amp;nbsp; However, as a convenient, would you please share a tiny repro with us?&amp;nbsp; Thanks for your understanding.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jonathan&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks for the reply, Johnathan.&lt;br /&gt;I do have &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HtmlPage.RegisterScriptableObject(&amp;quot;Svc&amp;quot;, this); in my silverlight application.But not in my DLL. &lt;br /&gt;Or do you mean that I have to call HtmlPage.RegisterScriptableObject(&amp;quot;myObject&amp;quot;, DLL_FROM_WEBSERVICE ); in my silverlight application??&lt;br /&gt;&lt;br /&gt;And sorry for my bad English I dont undestand what you mean by share a tiny repro. Do you mean report? or you want me show all the code.&lt;br /&gt;I could past all the code, but I just thought too much code makes people hard to see.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks,&lt;/p&gt;&lt;p&gt;Lanfong &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Javascript unable to get custom object from ASMX through Silverlight using DLL I created</title><link>http://forums.silverlight.net/forums/thread/229569.aspx</link><pubDate>Fri, 05 Jun 2009 11:41:15 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:229569</guid><dc:creator>Jonathan Shen – MSFT</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/229569.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=16&amp;PostID=229569</wfw:commentRss><description>&lt;p&gt;Hi Lanfong,&lt;/p&gt;
&lt;p&gt;Please make sure you have add &lt;/p&gt;
&lt;p&gt;WebApplication.Current.RegisterScriptableObject(&lt;span class="str"&gt;&lt;font color="#006080"&gt;&amp;quot;basic&amp;quot;&lt;/font&gt;&lt;/span&gt;, &lt;span class="kwrd"&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;/span&gt;); on your Load event.&amp;nbsp;&amp;nbsp; Based on your description, I suspect that the dynamically downed dll didn&amp;#39;t generate the js code for you.&amp;nbsp; However, as a convenient, would you please share a tiny repro with us?&amp;nbsp; Thanks for your understanding.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jonathan&lt;/p&gt;</description></item><item><title>Re: Javascript unable to get custom object from ASMX through Silverlight using DLL I created</title><link>http://forums.silverlight.net/forums/thread/228827.aspx</link><pubDate>Thu, 04 Jun 2009 05:45:15 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:228827</guid><dc:creator>lanfong</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/228827.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=16&amp;PostID=228827</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Is anyone encountered such problem??? If so, please spend some time helping me here. If there&amp;#39;s documentation that explains all, give me the link and I&amp;#39;ll go through it myself...&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;thanks.. &lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Javascript unable to get custom object from ASMX through Silverlight using DLL I created</title><link>http://forums.silverlight.net/forums/thread/227528.aspx</link><pubDate>Mon, 01 Jun 2009 14:51:33 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:227528</guid><dc:creator>lanfong</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/227528.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=16&amp;PostID=227528</wfw:commentRss><description>&lt;p&gt;&amp;nbsp; No, I don&amp;#39;t. Should I do that??? My web page is really simple that it
only contains the Silverlight control creation tags and buttons and
that&amp;#39;s it. It&amp;#39;s the silverlight control calls web service and returns
data back to javascript / aspx page. However, It does have ScriptManager tags in aspx page.&lt;br /&gt;
&lt;br /&gt;I googled about ScriptManager + ASMX and most of them talks about Ajax-enabled Web Services with ScriptManager.&lt;br /&gt;&lt;br /&gt;From my testing, my web service returns successfully. It&amp;#39;s just Javascript doesn&amp;#39;t understand the object.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The below is my aspx page&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="coloredcode"&gt;&lt;b id="1"&gt;1    &lt;/b&gt;&amp;lt;&lt;span class="tag"&gt;body&lt;/span&gt;&lt;span class="attr"&gt; style=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;height:100%;margin:0;&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="2"&gt;2    &lt;/b&gt;  &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;service&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; style=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;behavior: url(webservice.htc)&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="3"&gt;3    &lt;/b&gt;  &amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="4"&gt;4    &lt;/b&gt;  &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;load&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="5"&gt;5    &lt;/b&gt;    &amp;lt;&lt;span class="tag"&gt;img&lt;/span&gt;&lt;span class="attr"&gt; src=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;img/load.gif&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;b id="6"&gt;6    &lt;/b&gt;  &amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="7"&gt;7    &lt;/b&gt;  &amp;lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;form1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="8"&gt;8    &lt;/b&gt;  &amp;lt;&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;ScriptManager1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="9"&gt;9    &lt;/b&gt;  &amp;lt;/&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="10"&gt;10   &lt;/b&gt;  &amp;lt;&lt;span class="tag"&gt;asp:Silverlight&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Xaml1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Source=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;~/ClientBin/SilverlightASPX.xap&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;b id="11"&gt;11   &lt;/b&gt;&lt;span class="attr"&gt;    MinimumVersion=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;2.0.31005.0&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Width=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Height=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; OnPluginLoaded=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;OnPluginLoaded&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;b id="12"&gt;12   &lt;/b&gt;&lt;span class="attr"&gt;    InitParameters=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;url=http://lanfong.no-ip.com:8989/LanfService/Service.asmx&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;b id="13"&gt;13   &lt;/b&gt;  &amp;lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="14"&gt;14   &lt;/b&gt;  &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;content&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; style=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;display: none&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="15"&gt;15   &lt;/b&gt;    &amp;lt;&lt;span class="tag"&gt;button&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;HelloWorldFromPageXaml()&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="16"&gt;16   &lt;/b&gt;      HelloWorld from Page.xml.cs&amp;lt;/&lt;span class="tag"&gt;button&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="17"&gt;17   &lt;/b&gt;    &amp;lt;&lt;span class="tag"&gt;button&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;GetHelloWorld()&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="18"&gt;18   &lt;/b&gt;      HelloWorld from web service&amp;lt;/&lt;span class="tag"&gt;button&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class="tag"&gt;br&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;b id="19"&gt;19   &lt;/b&gt;      &lt;br /&gt;&lt;b id="20"&gt;20   &lt;/b&gt;    &amp;lt;&lt;span class="tag"&gt;button&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;GetStudentFromWS()&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="21"&gt;21   &lt;/b&gt;      GetStudentFromWS()&amp;lt;/&lt;span class="tag"&gt;button&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="22"&gt;22   &lt;/b&gt;    &amp;lt;&lt;span class="tag"&gt;button&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;GetFromPage_CS()&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="23"&gt;23   &lt;/b&gt;      GetFromPage_CS()&amp;lt;/&lt;span class="tag"&gt;button&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="24"&gt;24   &lt;/b&gt;      &amp;lt;&lt;span class="tag"&gt;button&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;GetFromLanfSvc_Student()&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="25"&gt;25   &lt;/b&gt;      GetFromLanfSvc_Student()&amp;lt;/&lt;span class="tag"&gt;button&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="26"&gt;26   &lt;/b&gt;      &lt;br /&gt;&lt;b id="27"&gt;27   &lt;/b&gt;  &amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;b id="28"&gt;28   &lt;/b&gt;&lt;br /&gt;&lt;b id="29"&gt;29   &lt;/b&gt;  &lt;br /&gt;&lt;b id="30"&gt;30   &lt;/b&gt;&amp;lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/pre&gt;&amp;nbsp;&lt;br /&gt;</description></item><item><title>Re: Javascript unable to get custom object from ASMX through Silverlight using DLL I created</title><link>http://forums.silverlight.net/forums/thread/227475.aspx</link><pubDate>Mon, 01 Jun 2009 12:56:31 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:227475</guid><dc:creator>ken tucker</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/227475.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=16&amp;PostID=227475</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Did you register the asmx with the scriptmanager on the web form?&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Javascript unable to get custom object from ASMX through Silverlight using DLL I created</title><link>http://forums.silverlight.net/forums/thread/227278.aspx</link><pubDate>Mon, 01 Jun 2009 04:21:44 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:227278</guid><dc:creator>lanfong</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/227278.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=16&amp;PostID=227278</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Hi all,&lt;br /&gt;&lt;br /&gt;I know that if we want to return custom class object from Silverlight to Javascript. All we need to do is to make the class we&lt;br /&gt;created [ScriptableType] ([ScriptableTypeAttribute]) to expose all the public methods and members or [ScriptableMembers]&lt;br /&gt;to just expose a specific method, member.&lt;br /&gt;&lt;br /&gt;I have tried and it works when the custom class is created in the same project or even in external DLL files I created. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The below is the School.cs class I created within the silverlight application&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="coloredcode"&gt;&lt;b id="1"&gt;1    &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System.Windows.Browser;&lt;br /&gt;&lt;b id="2"&gt;2    &lt;/b&gt;&lt;span class="kwd"&gt;namespace&lt;/span&gt; SilverlightASPX&lt;br /&gt;&lt;b id="3"&gt;3    &lt;/b&gt;{&lt;br /&gt;&lt;b id="4"&gt;4    &lt;/b&gt;  [ScriptableType]&lt;br /&gt;&lt;b id="5"&gt;5    &lt;/b&gt;  &lt;span class="kwd"&gt;public class&lt;/span&gt; Student&lt;br /&gt;&lt;b id="6"&gt;6    &lt;/b&gt;  {&lt;br /&gt;&lt;b id="7"&gt;7    &lt;/b&gt;    [ScriptableMember]&lt;br /&gt;&lt;b id="8"&gt;8    &lt;/b&gt;    &lt;span class="kwd"&gt;public string&lt;/span&gt; Name { &lt;span class="kwd"&gt;get&lt;/span&gt;; &lt;span class="kwd"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;b id="9"&gt;9    &lt;/b&gt;    [ScriptableMember]&lt;br /&gt;&lt;b id="10"&gt;10   &lt;/b&gt;    &lt;span class="kwd"&gt;public int&lt;/span&gt; Age { &lt;span class="kwd"&gt;get&lt;/span&gt;; &lt;span class="kwd"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;b id="11"&gt;11   &lt;/b&gt;  }&lt;br /&gt;&lt;b id="12"&gt;12   &lt;/b&gt;}&lt;br /&gt;&lt;b id="13"&gt;13   &lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This has no problem to return to Javascript. Javascript recognized the object and I am able to use obj.Name to get the name of school.&lt;br /&gt;&lt;br /&gt;I also tried creating a Silverlight Library Application that has the same implementation as the School.cs I created in the Silverlight project&lt;br /&gt;&amp;nbsp;&lt;pre class="coloredcode"&gt;&lt;b id="1"&gt;1    &lt;/b&gt;&lt;span class="kwd"&gt;using&lt;/span&gt; System.Windows.Browser;&lt;br /&gt;&lt;b id="2"&gt;2    &lt;/b&gt;&lt;span class="kwd"&gt;namespace&lt;/span&gt; LanfLibrary&lt;br /&gt;&lt;b id="3"&gt;3    &lt;/b&gt;{&lt;br /&gt;&lt;b id="4"&gt;4    &lt;/b&gt;  [ScriptableType]&lt;br /&gt;&lt;b id="5"&gt;5    &lt;/b&gt;  &lt;span class="kwd"&gt;public class&lt;/span&gt; Student&lt;br /&gt;&lt;b id="6"&gt;6    &lt;/b&gt;  {&lt;br /&gt;&lt;b id="7"&gt;7    &lt;/b&gt;    [ScriptableMember]&lt;br /&gt;&lt;b id="8"&gt;8    &lt;/b&gt;    &lt;span class="kwd"&gt;public string&lt;/span&gt; Name { &lt;span class="kwd"&gt;get&lt;/span&gt;; &lt;span class="kwd"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;b id="9"&gt;9    &lt;/b&gt;    [ScriptableMember]&lt;br /&gt;&lt;b id="10"&gt;10   &lt;/b&gt;    &lt;span class="kwd"&gt;public int&lt;/span&gt; Age { &lt;span class="kwd"&gt;get&lt;/span&gt;; &lt;span class="kwd"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;b id="11"&gt;11   &lt;/b&gt;  }&lt;br /&gt;&lt;b id="12"&gt;12   &lt;/b&gt;}&lt;br /&gt;&lt;b id="13"&gt;13   &lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;It works no problems for javascript to read the age and name. I copied the System.Windows.Browser.dll to the project so that I could make &lt;br /&gt;&lt;/p&gt;&lt;pre class="coloredcode"&gt;[ScriptableMember].&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;OK enough for my testing. Here comes the problem&lt;br /&gt;==========================================================&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I created a simple ASMX web service and also add the DLL reference I created above &amp;quot;LanfLibrary&amp;quot;, which includes Student class&lt;br /&gt;One of my WebMethod returns a dummy Student data.&lt;br /&gt;&lt;br /&gt;Here&amp;#39;s the flow of my testing project.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;u&gt;Javascript calls GetStudent() [a function from silverlight]&lt;/u&gt;&lt;/li&gt;&lt;li&gt;&lt;u&gt;Silverlight calls webService.GetStudentAsync() and registers GetStudentCompleted()&lt;/u&gt;&lt;/li&gt;&lt;li&gt;&lt;u&gt;webService returns back to Silverlight&lt;/u&gt;&lt;/li&gt;&lt;li&gt;&lt;u&gt;Silverlight calls HtmlPage.Windows.Invoke(&amp;quot;functionName&amp;quot;, StudentObjectFromWebService);&lt;/u&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The testing result was failed. I use Firefox + Firebug to test it and I couldn&amp;#39;t access studentObject.Name and studentObject.Age.&lt;br /&gt;It&amp;#39;s the same error I got if the class is not [ScriptableType] / [ScriptableMember]&lt;br /&gt;&lt;span class="objectBox objectBox-exception"&gt;Error setting property on scriptable plugin object! [plugin exception: Object doesn&amp;#39;t support this property or method].&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Is there anyway to accomplish this?? maybe just some more [] tags from the DLL?&lt;br /&gt;That&amp;#39;s say I can&amp;#39;t change my Class Library, is there anyway to do it so that I can still access from javascript??&lt;br /&gt;&lt;br /&gt;If changes is needed, what should I do.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks,&lt;/p&gt;&lt;p&gt;Lanf &lt;br /&gt;&lt;/p&gt;</description></item></channel></rss>