<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://netindonesia.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>Across Boundaries - ( Cipto )</title><link>http://netindonesia.net/blogs/cipto/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Vulnerable Cookies</title><link>http://netindonesia.net/blogs/cipto/archive/2010/01/26/vulnerable-cookies.aspx</link><pubDate>Tue, 26 Jan 2010 03:08:11 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:185602</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=185602</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2010/01/26/vulnerable-cookies.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;I’ve Found a Great PDF about XSS Attack , and how the Middle Layer man can hijack your session and cookies. and also how to encounter it &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="https://www.isecpartners.com/files/web-session-management.pdf" href="https://www.isecpartners.com/files/web-session-management.pdf"&gt;&lt;font size="2"&gt;https://www.isecpartners.com/files/web-session-management.pdf&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;You should always set your Domain, HttpOnly Attribute(not writeable from js) on your Cookies and use the HTTPS so the middle layer man can’t see it in plain text.&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2010/01/26/vulnerable-cookies.aspx&amp;amp;subject=Vulnerable Cookies" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2010/01/26/vulnerable-cookies.aspx&amp;amp;t=Vulnerable+Cookies" target="_blank" title="Submit Vulnerable Cookies to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2010/01/26/vulnerable-cookies.aspx&amp;amp;title=Vulnerable+Cookies" target="_blank" title="Submit Vulnerable Cookies to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2010/01/26/vulnerable-cookies.aspx&amp;amp;phase=2" target="_blank" title="Submit Vulnerable Cookies to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2010/01/26/vulnerable-cookies.aspx&amp;amp;title=Vulnerable+Cookies" target="_blank" title="Add Vulnerable Cookies to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=185602" width="1" height="1"&gt;</description></item><item><title>Merge JS into 1 Large File</title><link>http://netindonesia.net/blogs/cipto/archive/2010/01/24/merge-js-into-1-large-file.aspx</link><pubDate>Sun, 24 Jan 2010 05:30:59 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:185563</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=185563</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2010/01/24/merge-js-into-1-large-file.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Yet i come across this scenario again. After Merging all my js into 1, i found out it can’t run. this usually happens when the whole js is merge into 1 , Because Browser Lack Capability in&amp;#160; handling the errors when in one large file compare to one by one.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;After looking 1 by 1. and using jslint. i found that Facebox.js again is not properly written. there are lot of no semicolon in the end. after adding semi colon in many lines, it runs. After that i use the JSMin to minimize it.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;But what about the Server Control? Server control usually use the scriptResource.Axd .it’s a handler for the Java script for the control.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;If you include many Ajaxtoolkit control,3rd Party Control which integrate with ASP.NET Ajax ex:telerik,etc.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;You can see that each of that control is adding a seperate call of Scriptresource.axd.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;How can we merge it?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Well first download the Helper which can detect our Asp.net ajax related Javascript References. &lt;strong&gt;ScriptReferenceProfiler&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;add to your bin. Reference on your toolbox. Put that on your page.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;When you run your page, the dll will output all the Reference needed for your page .&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;For example:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;15 References Found:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;MicrosoftAjax.js&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;MicrosoftAjaxWebForms.js&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Common.Core.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Common.jQuery.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Common.jQueryPlugins.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Common.Navigation.NavigationScripts.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.ComboBox.RadComboBoxScripts.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Ajax.Ajax.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.Common.Common.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.Compat.Timer.Timer.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.Animation.Animations.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.ExtenderBase.BaseScripts.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.AlwaysVisibleControl.AlwaysVisibleControlBehavior.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.RoundedCorners.RoundedCornersBehavior.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.DropShadow.DropShadowBehavior.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Then on Your Script Manager add all that references Under CompositeScripts-&amp;gt;scripts Tag&lt;/font&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;lt;asp:ScriptManager ID=&lt;span class="str"&gt;&amp;quot;ScriptManager1&amp;quot;&lt;/span&gt; runat=&lt;span class="str"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; EnablePartialRendering=&lt;span class="str"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;lt;CompositeScript ScriptMode=&lt;span class="str"&gt;&amp;quot;Release&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;lt;Scripts&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;MicrosoftAjax.js&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;MicrosoftAjaxWebForms.js&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Common.Core.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Common.jQuery.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Common.jQueryPlugins.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Common.Navigation.NavigationScripts.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.ComboBox.RadComboBoxScripts.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI.Ajax.Ajax.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;Telerik.Web.UI, Version=2009.2.701.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.Common.Common.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.Compat.Timer.Timer.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.Animation.Animations.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;&amp;lt;/Scripts&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&amp;lt;/CompositeScript&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;&amp;lt;/asp:ScriptManager&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="2"&gt;If You reference Too many Script Reference it will throws Error . like “too many script references , can’t exceed 1024 Characters”&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Well You have to split it on another one using The scriptmanagerProxy. you can also you scriptmanager proxy on your Sub COntrol(Ascx)&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Actually What you will have now is 2 ScriptResource.axd. So each scriptmanagerproxy will result in new ScriptResource.axd Group&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;For Example:&lt;/font&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;lt;asp:ScriptManagerProxy runat=&lt;span class="str"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;lt;CompositeScript ScriptMode=&lt;span class="str"&gt;&amp;quot;Release&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;lt;Scripts&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.ExtenderBase.BaseScripts.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.AlwaysVisibleControl.AlwaysVisibleControlBehavior.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.RoundedCorners.RoundedCornersBehavior.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &amp;lt;asp:ScriptReference name=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit.DropShadow.DropShadowBehavior.js&amp;quot;&lt;/span&gt; assembly=&lt;span class="str"&gt;&amp;quot;AjaxControlToolkit, Version=3.0.30512.17815, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;lt;/Scripts&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&amp;lt;/CompositeScript&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;&amp;lt;/asp:ScriptManagerProxy&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;The Less HttpRequest there are, the faster the Page will load,Especially JS.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Because Browser Behavior Tend to&amp;#160; Block Other Downloads Until the JS is finished Downloaded&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;And As usual you should put the JS before the Body End Tag&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2010/01/24/merge-js-into-1-large-file.aspx&amp;amp;subject=Merge JS into 1 Large File" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2010/01/24/merge-js-into-1-large-file.aspx&amp;amp;t=Merge+JS+into+1+Large+File" target="_blank" title="Submit Merge JS into 1 Large File to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2010/01/24/merge-js-into-1-large-file.aspx&amp;amp;title=Merge+JS+into+1+Large+File" target="_blank" title="Submit Merge JS into 1 Large File to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2010/01/24/merge-js-into-1-large-file.aspx&amp;amp;phase=2" target="_blank" title="Submit Merge JS into 1 Large File to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2010/01/24/merge-js-into-1-large-file.aspx&amp;amp;title=Merge+JS+into+1+Large+File" target="_blank" title="Add Merge JS into 1 Large File to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=185563" width="1" height="1"&gt;</description></item><item><title>Usage of FLVTOOL</title><link>http://netindonesia.net/blogs/cipto/archive/2010/01/14/usage-of-flvtool.aspx</link><pubDate>Thu, 14 Jan 2010 04:44:25 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:185381</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=185381</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2010/01/14/usage-of-flvtool.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;You can download flvtool from official website &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;FLVTool set meta information that is used by flash player to properly stream flv videos.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;If FLVTool proper set meta information, then original flv file size increase about 1kb. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;It is useful when you implement partial streaming like youtube does.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;In partial streaming user can stream video from any location. from start, middle or end of video.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Also if meta information not set for flv videos most of desktop flash players like &lt;/font&gt;&lt;a href="http://download.cnet.com/FLV-Player/3000-2139_4-10505954.html%C2%A0showing"&gt;&lt;font size="3"&gt;http://download.cnet.com/FLV-Player/3000-2139_4-10505954.html showing&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt; Shows bitrate as 0kb/s.&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2010/01/14/usage-of-flvtool.aspx&amp;amp;subject=Usage of FLVTOOL" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2010/01/14/usage-of-flvtool.aspx&amp;amp;t=Usage+of+FLVTOOL" target="_blank" title="Submit Usage of FLVTOOL to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2010/01/14/usage-of-flvtool.aspx&amp;amp;title=Usage+of+FLVTOOL" target="_blank" title="Submit Usage of FLVTOOL to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2010/01/14/usage-of-flvtool.aspx&amp;amp;phase=2" target="_blank" title="Submit Usage of FLVTOOL to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2010/01/14/usage-of-flvtool.aspx&amp;amp;title=Usage+of+FLVTOOL" target="_blank" title="Add Usage of FLVTOOL to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=185381" width="1" height="1"&gt;</description></item><item><title>My Summary of Composite WPF&amp;Silverlight, a.k.a Prism</title><link>http://netindonesia.net/blogs/cipto/archive/2010/01/13/my-summary-of-composite-wpf-amp-silverlight-a-k-a-prism.aspx</link><pubDate>Wed, 13 Jan 2010 09:07:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:185360</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=185360</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2010/01/13/my-summary-of-composite-wpf-amp-silverlight-a-k-a-prism.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;After finding Quite a number of screen cast, It&amp;#39;s quite hard to understand at first. the starting Comprehensive Video that i found are the Videos from the silverlightBayLabs,it&amp;#39;s very nice and simple Anyway for Our application which use many controls in 1 xaml and have many interaction with each other it is a Very nice If Our Silverlight App can be Tested And Become Modular &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;This can be done by composite Application Block. Similar To other Type of application ,Composite Block for web it&amp;#39;s WCSF and SCSF for the Windows Form. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;What it does is almost the same. Shell is the end point. shell does not know anything. It only job is to Register Which Modules for this application We than separate our concern into separate module , seperate project. On Module which inherit from IModule , which has 1 method -&amp;gt;Initialize We register our Type And View and region .As for other Type of Work/Behaviour we add on this Module project. After A couple of this screen cast i finally grasp the idea. Especially MVVM &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;Shell.Xaml is our master page we register our View Using &lt;b&gt;RegionManager&lt;/b&gt;. We seperate our View From it&amp;#39;s Logic and Event. Model - ViewModel. ViewModel will consist of our logic , it&amp;#39;s an island of it self. he does not know about the view at all. We can seperate /loosely coupled this Class Using depedency Injection. You just called the &lt;b&gt;IUnityContainer&lt;/b&gt;. UnityContainer is like a Holder for your type. and it can initiate what Type you need. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;&lt;b&gt;EventAggregator&lt;/b&gt; work for use to publish event to subscriber. it acts like a mediator for you.So your Cross module can just register to it. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;&lt;b&gt;DelegateCommand&lt;/b&gt; is the One who can pass the Click Event from the Xaml to View Model. default is click only but can be extended. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;To Make a Silverlight app Test project just reference 2 dll: Microsoft.Silverlight.testing ,Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;To Make Blend Work And can Search for our Behaviour reference 1 dll on the project: Microsoft.Expression.Interactiviy &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Microsoft Sans Serif"&gt;The Composite Block use weak reference on binding. we have to make our eventhandler method Public so that can be Unsubscribe from the event All the bold ones are the helper for us to use to implement MVVM/MVP &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;07/02/2010&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;There are discussion over MVVM , that it is lack of template , OverHead when used on Large application.it lack of pattern like wheter we put this on view model or the behind code view it self &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;http://en.wikipedia.org/wiki/MVVM&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2010/01/13/my-summary-of-composite-wpf-amp-silverlight-a-k-a-prism.aspx&amp;amp;subject=My Summary of Composite WPF&amp;amp;Silverlight, a.k.a Prism" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2010/01/13/my-summary-of-composite-wpf-amp-silverlight-a-k-a-prism.aspx&amp;amp;t=My+Summary+of+Composite+WPF%26amp%3bSilverlight%2c+a.k.a+Prism" target="_blank" title="Submit My Summary of Composite WPF&amp;amp;Silverlight, a.k.a Prism to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2010/01/13/my-summary-of-composite-wpf-amp-silverlight-a-k-a-prism.aspx&amp;amp;title=My+Summary+of+Composite+WPF%26amp%3bSilverlight%2c+a.k.a+Prism" target="_blank" title="Submit My Summary of Composite WPF&amp;amp;Silverlight, a.k.a Prism to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2010/01/13/my-summary-of-composite-wpf-amp-silverlight-a-k-a-prism.aspx&amp;amp;phase=2" target="_blank" title="Submit My Summary of Composite WPF&amp;amp;Silverlight, a.k.a Prism to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2010/01/13/my-summary-of-composite-wpf-amp-silverlight-a-k-a-prism.aspx&amp;amp;title=My+Summary+of+Composite+WPF%26amp%3bSilverlight%2c+a.k.a+Prism" target="_blank" title="Add My Summary of Composite WPF&amp;amp;Silverlight, a.k.a Prism to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=185360" width="1" height="1"&gt;</description></item><item><title>Facebox Stays Under Flash</title><link>http://netindonesia.net/blogs/cipto/archive/2009/12/23/facebox-stays-under-flash.aspx</link><pubDate>Wed, 23 Dec 2009 04:07:06 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184873</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184873</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/12/23/facebox-stays-under-flash.aspx#comments</comments><description>No matter what you do.. set the zindex.. it won&amp;#39;t change the Flash is always on top of facebox.  if you set wmmode=transparent on somecases , you can&amp;#39;t see the flash.  Solution add param to your Flash    wmmode = block  
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/12/23/facebox-stays-under-flash.aspx&amp;amp;subject=Facebox Stays Under Flash" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/12/23/facebox-stays-under-flash.aspx&amp;amp;t=Facebox+Stays+Under+Flash" target="_blank" title="Submit Facebox Stays Under Flash to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/12/23/facebox-stays-under-flash.aspx&amp;amp;title=Facebox+Stays+Under+Flash" target="_blank" title="Submit Facebox Stays Under Flash to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/12/23/facebox-stays-under-flash.aspx&amp;amp;phase=2" target="_blank" title="Submit Facebox Stays Under Flash to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/12/23/facebox-stays-under-flash.aspx&amp;amp;title=Facebox+Stays+Under+Flash" target="_blank" title="Add Facebox Stays Under Flash to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184873" width="1" height="1"&gt;</description></item><item><title>Child Calling Parent Method/ Iframe Reload from child</title><link>http://netindonesia.net/blogs/cipto/archive/2009/12/23/child-calling-parent-method-iframe-reload-from-child.aspx</link><pubDate>Wed, 23 Dec 2009 04:00:59 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184872</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184872</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/12/23/child-calling-parent-method-iframe-reload-from-child.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;This is the example, when a child wanna call it&amp;#39;s parent. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;including A child page of iframe wanna Adjust the IFrame parent Height and width &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;The trick is simple access your iframe method from parent.yourmethod(); &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;depends on the hierarcy it can be parent.parent.n... &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Example: &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Child: &lt;/font&gt;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;font size="3"&gt;function ChildResizeIframe(height) { &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="kwrd"&gt;try&lt;/span&gt; { &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;parent.parent.ParentResizeIframe(height); &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;} &lt;span class="kwrd"&gt;catch&lt;/span&gt; (e) {&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt; }&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt; } &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;window.onload = function() &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;{ &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;ChildResizeIframe(450); &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;}; &lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Parent: &lt;/font&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;font size="3"&gt;function ParentResizeIframe(height) { &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;&lt;font size="3"&gt;//do something with iframe, or other element &lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;}&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/12/23/child-calling-parent-method-iframe-reload-from-child.aspx&amp;amp;subject=Child Calling Parent Method/ Iframe Reload from child" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/12/23/child-calling-parent-method-iframe-reload-from-child.aspx&amp;amp;t=Child+Calling+Parent+Method%2f+Iframe+Reload+from+child" target="_blank" title="Submit Child Calling Parent Method/ Iframe Reload from child to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/12/23/child-calling-parent-method-iframe-reload-from-child.aspx&amp;amp;title=Child+Calling+Parent+Method%2f+Iframe+Reload+from+child" target="_blank" title="Submit Child Calling Parent Method/ Iframe Reload from child to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/12/23/child-calling-parent-method-iframe-reload-from-child.aspx&amp;amp;phase=2" target="_blank" title="Submit Child Calling Parent Method/ Iframe Reload from child to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/12/23/child-calling-parent-method-iframe-reload-from-child.aspx&amp;amp;title=Child+Calling+Parent+Method%2f+Iframe+Reload+from+child" target="_blank" title="Add Child Calling Parent Method/ Iframe Reload from child to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184872" width="1" height="1"&gt;</description></item><item><title>Detecting Mobile Device and Search Engine Crawler Bots</title><link>http://netindonesia.net/blogs/cipto/archive/2009/12/11/detecting-mobile-device-and-search-engine-crawler-bots.aspx</link><pubDate>Fri, 11 Dec 2009 03:14:02 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184715</guid><dc:creator>cipto</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184715</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/12/11/detecting-mobile-device-and-search-engine-crawler-bots.aspx#comments</comments><description>&lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt; &lt;span class="rem"&gt;//Check if Google Bot/Crawler&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        &lt;span class="rem"&gt;//or IS a Crawler &lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;        &lt;span class="rem"&gt;//Give full version web&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="kwrd"&gt;bool&lt;/span&gt; crawler =myBrowserCaps.Crawler;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        &lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt;(Request.Browser.IsMobileDevice &amp;amp;&amp;amp; !crawler)&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        Response.Redirect(&lt;span class="str"&gt;&amp;quot;MyMobile.aspx&amp;quot;&lt;/span&gt;);&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Note myBrowserCaps.Crawler &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Works againts Google Bots 2.1,MSN Bot 1.1.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;But not working for Yahoo Slurp.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;The idea is if A crawler on our site, we give them full site&amp;#160; so that Goggle/Other search engine does not put our web application as mobile application&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/12/11/detecting-mobile-device-and-search-engine-crawler-bots.aspx&amp;amp;subject=Detecting Mobile Device and Search Engine Crawler Bots" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/12/11/detecting-mobile-device-and-search-engine-crawler-bots.aspx&amp;amp;t=Detecting+Mobile+Device+and+Search+Engine+Crawler+Bots" target="_blank" title="Submit Detecting Mobile Device and Search Engine Crawler Bots to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/12/11/detecting-mobile-device-and-search-engine-crawler-bots.aspx&amp;amp;title=Detecting+Mobile+Device+and+Search+Engine+Crawler+Bots" target="_blank" title="Submit Detecting Mobile Device and Search Engine Crawler Bots to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/12/11/detecting-mobile-device-and-search-engine-crawler-bots.aspx&amp;amp;phase=2" target="_blank" title="Submit Detecting Mobile Device and Search Engine Crawler Bots to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/12/11/detecting-mobile-device-and-search-engine-crawler-bots.aspx&amp;amp;title=Detecting+Mobile+Device+and+Search+Engine+Crawler+Bots" target="_blank" title="Add Detecting Mobile Device and Search Engine Crawler Bots to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184715" width="1" height="1"&gt;</description></item><item><title>GridView Paging with ObjectDataSource</title><link>http://netindonesia.net/blogs/cipto/archive/2009/12/09/gridview-paging-with-objectdatasource.aspx</link><pubDate>Wed, 09 Dec 2009 08:27:59 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184709</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184709</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/12/09/gridview-paging-with-objectdatasource.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;Ok I wanna Blog about this.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;I read on MSDN, Among the other Datasource, Like sql datasource , etc.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;The only Data Source that can call by Page is Object Data Source. So it will not Take All Rows First Than do a Paging. Which is not efficient.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;In order The Object Data Source to work with your Grid Request.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;You need To : EnablePaging = True. If false it will Not Passed the startrowindex and MaximumRowsParameter.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Supply At Least &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="3"&gt;StartRowIndexName if the name is different than ‘startrowindex&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;MaximumRowsParameter if it’s different than default.&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;TypeName , Your class Type with Namespace if necessary. it is where object data source will look for your select method, and all other operation method stuff&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;SelectCountMethod, the method name in your TypeName that is used for counting total rows of the query&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;SelectMethod, The method That is used for selecting rows. Here is where the startrowindex and maximumrowsparameter WIll Goes to.&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;SortParameterName, If you want to support sorting , This is The name of param on selectMethod .object datasource will passed the gridview SortExpression property automatically&lt;/font&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="3"&gt;On your GridView, set the PageSize, this will effect the maximumrowsparameter&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Example of SelectMethod&lt;/font&gt;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;        &lt;span class="rem"&gt;/// This returns a list of students based on paging.&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;sortExpression&amp;quot;&amp;gt;SortExpression,CustomFormat:[columname][asc/desc]&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;startRowIndex&amp;quot;&amp;gt;The starting Row from object data Source&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;pageSize&amp;quot;&amp;gt;The Size of Row, 5 in this case&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        [DataObjectMethod(DataObjectMethodType.Select)]&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; List&amp;lt;Student&amp;gt; GetStudents(&lt;span class="kwrd"&gt;string&lt;/span&gt; sortExpression, &lt;span class="kwrd"&gt;int&lt;/span&gt; startRowIndex, &lt;span class="kwrd"&gt;int&lt;/span&gt; pageSize)&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        {&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (String.IsNullOrEmpty(sortBLOCKED EXPRESSION sortExpression = &lt;span class="str"&gt;&amp;quot;IDDesc&amp;quot;&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            startRowIndex++;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; pagenumber = startRowIndex/pageSize;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;            pagenumber++;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;            var students = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;Student&amp;gt;();&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            var parameters = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlParameter[4];&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            var param = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlParameter(&lt;span class="str"&gt;&amp;quot;PageNumber&amp;quot;&lt;/span&gt;, SqlDbType.Int);&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            param.Value = pagenumber;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;            parameters[0] = param;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;            param = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlParameter(&lt;span class="str"&gt;&amp;quot;PageSize&amp;quot;&lt;/span&gt;, SqlDbType.Int);&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;            param.Value = pageSize;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;            parameters[1] = param;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;            var howManyRowsReturnedParam = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlParameter(&lt;span class="str"&gt;&amp;quot;@HowManyRows&amp;quot;&lt;/span&gt;, SqlDbType.Int);&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;            howManyRowsReturnedParam.Direction = ParameterDirection.Output;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;            howManyRowsReturnedParam.Value = &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;            parameters[2] = howManyRowsReturnedParam;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;            param = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlParameter(&lt;span class="str"&gt;&amp;quot;orderby&amp;quot;&lt;/span&gt;, SqlDbType.VarChar);&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;            param.Value = sortExpression;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;            parameters[3] = param;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;            &lt;span class="kwrd"&gt;using&lt;/span&gt; (&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;                SqlDataReader dr = SqlHelper.ExecuteReader(Connections.Conn1, &lt;span class="str"&gt;&amp;quot;GetStudent&amp;quot;&lt;/span&gt;, CommandType.StoredProcedure,&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;                                                           parameters))&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;            {&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;                &lt;span class="kwrd"&gt;while&lt;/span&gt; (dr.Read())&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;                {&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;                    var s = &lt;span class="kwrd"&gt;new&lt;/span&gt; Student();&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;                    s.ID = &lt;span class="kwrd"&gt;int&lt;/span&gt;.Parse(dr[&lt;span class="str"&gt;&amp;quot;ID&amp;quot;&lt;/span&gt;].ToString());&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;                    s.Name = dr[&lt;span class="str"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;].ToString();&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;                    s.City = dr[&lt;span class="str"&gt;&amp;quot;City&amp;quot;&lt;/span&gt;].ToString();&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;                    s.State = dr[&lt;span class="str"&gt;&amp;quot;State&amp;quot;&lt;/span&gt;].ToString();&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;                    s.Phone = dr[&lt;span class="str"&gt;&amp;quot;Phone&amp;quot;&lt;/span&gt;].ToString();&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;                    s.Email = dr[&lt;span class="str"&gt;&amp;quot;Email&amp;quot;&lt;/span&gt;].ToString();&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;                    s.CreatedOn = DateTime.Parse(dr[&lt;span class="str"&gt;&amp;quot;CreatedOn&amp;quot;&lt;/span&gt;].ToString());&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;                    students.Add(s);&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;                }&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;            }&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; students;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;        }&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;    }&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;There are also Trick on your Store procedure for Dynamic Sorting, Like this:&lt;/font&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;ROW_NUMBER( ) over (order BY &lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;            &lt;span class="kwrd"&gt;case&lt;/span&gt; &lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            when @orderby=&lt;span class="str"&gt;&amp;#39;IDAsc&amp;#39;&lt;/span&gt; then [ID] END ASC,&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;            &lt;span class="kwrd"&gt;case&lt;/span&gt; &lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;            when @orderby=&lt;span class="str"&gt;&amp;#39;IDDesc&amp;#39;&lt;/span&gt; then ID END DESC,&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            &lt;span class="kwrd"&gt;case&lt;/span&gt; &lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            when @orderby=&lt;span class="str"&gt;&amp;#39;NameAsc&amp;#39;&lt;/span&gt; then [NAME] END ASC,&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;            &lt;span class="kwrd"&gt;case&lt;/span&gt; &lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            when @orderby=&lt;span class="str"&gt;&amp;#39;NameDesc&amp;#39;&lt;/span&gt; then [NAME] END DESC,&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            &lt;span class="kwrd"&gt;case&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;            when @orderby=&lt;span class="str"&gt;&amp;#39;CityAsc&amp;#39;&lt;/span&gt; then City END ASC,&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;So in order to make this custom Ascending / Descending work i need to put the custom sorting expression on variable&lt;/font&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;font size="3"&gt; &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; gvStudent_sorting(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, GridViewSortEventArgs e)&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;        {&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; sortDirection = e.SortDirection == SortDirection.Descending ? &lt;span class="str"&gt;&amp;quot;Desc&amp;quot;&lt;/span&gt; : &lt;span class="str"&gt;&amp;quot;Asc&amp;quot;&lt;/span&gt;;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;            SortBy = e.SortExpression + sortDirection;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;        }&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Now this is also important,&amp;#160; The Object Data Source will Call your Select Method Twice because of it’s own Cache Logic internal. so the first one will be like always requesting for first page. and the second call will be the correct StartRowindex. So it is used for Object Data Source Internal Checking. there’s nothing wrong with it&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;The object Data Source have a important Method Like Selecting. ODS will called this selecting twice , 1st call Is To Fetch Data, 2nd Is for Gettting The Total Count Method(return integer)&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;I passed in my Custom Sorting Expression Variable Value Here.&lt;/font&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;  &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; StudentDataSource_Selecting(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, ObjectDataSourceSelectingEventArgs e)&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        {&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            &lt;span class="rem"&gt;//fecthdata&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!e.ExecutingSelectCount)&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;            {&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;                &lt;span class="rem"&gt;//make custom expression param&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (SortBy.Length &amp;gt; 0)&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                {&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                    e.Arguments.SortExpression = SortBy;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                }&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;            }&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;        }&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/12/09/gridview-paging-with-objectdatasource.aspx&amp;amp;subject=GridView Paging with ObjectDataSource" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/12/09/gridview-paging-with-objectdatasource.aspx&amp;amp;t=GridView+Paging+with+ObjectDataSource" target="_blank" title="Submit GridView Paging with ObjectDataSource to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/gridview-paging-with-objectdatasource.aspx&amp;amp;title=GridView+Paging+with+ObjectDataSource" target="_blank" title="Submit GridView Paging with ObjectDataSource to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/gridview-paging-with-objectdatasource.aspx&amp;amp;phase=2" target="_blank" title="Submit GridView Paging with ObjectDataSource to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/gridview-paging-with-objectdatasource.aspx&amp;amp;title=GridView+Paging+with+ObjectDataSource" target="_blank" title="Add GridView Paging with ObjectDataSource to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184709" width="1" height="1"&gt;</description></item><item><title>Object Reference Not Set After Copying Mobile.browser</title><link>http://netindonesia.net/blogs/cipto/archive/2009/12/09/object-reference-not-set-after-copying-mobile-browser.aspx</link><pubDate>Wed, 09 Dec 2009 07:45:15 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184708</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184708</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/12/09/object-reference-not-set-after-copying-mobile-browser.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;Why am I getting &amp;quot;Object reference not set to an instance of an object.&amp;quot;?&lt;/b&gt;      &lt;br /&gt;If after copying the .browser file into your App&lt;i&gt;Browsers folder you get a compile error “Object reference not set to an instance of an object.” and you have .NET 3.5 SP1, then the issue is likely that you must create a sub-directory (of any name) in your App&lt;/i&gt;Browsers folder and place the .browser file in there. E.G. \App_Browsers\MobileBrowserData\mobile.browser&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/12/09/object-reference-not-set-after-copying-mobile-browser.aspx&amp;amp;subject=Object Reference Not Set After Copying Mobile.browser" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/12/09/object-reference-not-set-after-copying-mobile-browser.aspx&amp;amp;t=Object+Reference+Not+Set+After+Copying+Mobile.browser" target="_blank" title="Submit Object Reference Not Set After Copying Mobile.browser to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/object-reference-not-set-after-copying-mobile-browser.aspx&amp;amp;title=Object+Reference+Not+Set+After+Copying+Mobile.browser" target="_blank" title="Submit Object Reference Not Set After Copying Mobile.browser to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/object-reference-not-set-after-copying-mobile-browser.aspx&amp;amp;phase=2" target="_blank" title="Submit Object Reference Not Set After Copying Mobile.browser to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/object-reference-not-set-after-copying-mobile-browser.aspx&amp;amp;title=Object+Reference+Not+Set+After+Copying+Mobile.browser" target="_blank" title="Add Object Reference Not Set After Copying Mobile.browser to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184708" width="1" height="1"&gt;</description></item><item><title>Service Application Unavailable IIS7</title><link>http://netindonesia.net/blogs/cipto/archive/2009/12/09/service-application-unavailable-iis7.aspx</link><pubDate>Wed, 09 Dec 2009 07:36:58 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184707</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184707</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/12/09/service-application-unavailable-iis7.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;There are many things that cause this. read &lt;/font&gt;&lt;a href="http://mvolo.com/blogs/serverside/archive/2006/10/19/Where-did-my-IIS7-server-go_3F00_-Troubleshooting-_2200_service-unavailable_2200_-errors.aspx"&gt;&lt;font size="3"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt; For more detail and accurate step.a&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Check Security, already There.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;See the Log of IIS on C:\inetpub\logs\LogFiles\W3SVC1, the request return http error code 500. Not much Help&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Do a ‘appcmd list appppools’&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.netindonesia.net/blogs/cipto/5_14F1F762.jpg"&gt;&lt;font size="3"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="5" border="0" alt="5" src="http://geeks.netindonesia.net/blogs/cipto/5_thumb_15A5FDB3.jpg" width="390" height="197" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Nothing wrong on the application pool. No Crash&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;See the Event Viewer –&amp;gt; Application.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;There’s a Information:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;A request mapped to aspnet_isapi.dll was made within an application pool running in Integrated .NET mode.&amp;#160; Aspnet_isapi.dll can only be used when running in Classic .NET mode.&amp;#160; Please either specify preCondition=&amp;quot;ISAPImode&amp;quot; on the handler mapping to make it run only in application pools running in Classic .NET mode, or move the application to another &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Aha, my application still calling the old Way Isapi.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Change the ApplicationPool Mode to Classic &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Bingo!&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/12/09/service-application-unavailable-iis7.aspx&amp;amp;subject=Service Application Unavailable IIS7" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/12/09/service-application-unavailable-iis7.aspx&amp;amp;t=Service+Application+Unavailable+IIS7" target="_blank" title="Submit Service Application Unavailable IIS7 to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/service-application-unavailable-iis7.aspx&amp;amp;title=Service+Application+Unavailable+IIS7" target="_blank" title="Submit Service Application Unavailable IIS7 to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/service-application-unavailable-iis7.aspx&amp;amp;phase=2" target="_blank" title="Submit Service Application Unavailable IIS7 to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/12/09/service-application-unavailable-iis7.aspx&amp;amp;title=Service+Application+Unavailable+IIS7" target="_blank" title="Add Service Application Unavailable IIS7 to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184707" width="1" height="1"&gt;</description></item><item><title>TSQL How To Synchronize Between 2 Tables</title><link>http://netindonesia.net/blogs/cipto/archive/2009/12/05/tsql-how-to-synchronize-between-2-tables.aspx</link><pubDate>Sat, 05 Dec 2009 02:54:57 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184666</guid><dc:creator>cipto</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184666</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/12/05/tsql-how-to-synchronize-between-2-tables.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;This query work to find out any difference between 2 tables and return Only The Difference Row, Or Not There Row.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;if the union all Group Count return 2 meaning it’s the same ,if 1 Than there’s difference. You can put on temporary table&lt;/font&gt;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;font size="3"&gt;SELECT MIN(tableName),Column1,Column2 .. N&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    FROM&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;    (&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    --sync &lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;    SELECT &lt;span class="str"&gt;&amp;#39;Table 1&amp;#39;&lt;/span&gt; AS tableName,Column1,Column2 .. N&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    FROM&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;    Table1&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    &lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;    UNION ALL&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    SELECT &lt;span class="str"&gt;&amp;#39;Table 2&amp;#39;&lt;/span&gt; AS tableName,Column1,Column2 .. N&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;    FROM&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    Table2&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    )&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;    tmp&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    GROUP BY Column1,Column2 ..N&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;    --1 means have difference, 2 means identical&lt;/font&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;font size="3"&gt;    HAVING COUNT(*)=1&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;font size="3"&gt;    ORDER BY Column1,Column2 ..N&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;After That , Do your Insert Update Delete Logic From The Results.&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/12/05/tsql-how-to-synchronize-between-2-tables.aspx&amp;amp;subject=TSQL How To Synchronize Between 2 Tables" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/12/05/tsql-how-to-synchronize-between-2-tables.aspx&amp;amp;t=TSQL+How+To+Synchronize+Between+2+Tables" target="_blank" title="Submit TSQL How To Synchronize Between 2 Tables to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/12/05/tsql-how-to-synchronize-between-2-tables.aspx&amp;amp;title=TSQL+How+To+Synchronize+Between+2+Tables" target="_blank" title="Submit TSQL How To Synchronize Between 2 Tables to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/12/05/tsql-how-to-synchronize-between-2-tables.aspx&amp;amp;phase=2" target="_blank" title="Submit TSQL How To Synchronize Between 2 Tables to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/12/05/tsql-how-to-synchronize-between-2-tables.aspx&amp;amp;title=TSQL+How+To+Synchronize+Between+2+Tables" target="_blank" title="Add TSQL How To Synchronize Between 2 Tables to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184666" width="1" height="1"&gt;</description></item><item><title>System.InvalidCastException: [A]System.Collections.Generic.List`1[VideoDistribution+mediaData] cannot be cast to [B]System.Collections.Generic.List`1[VideoDistribution+mediaData]. Type A originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKe</title><link>http://netindonesia.net/blogs/cipto/archive/2009/12/05/system-invalidcastexception-a-system-collections-generic-list-1-videodistribution-mediadata-cannot-be-cast-to-b-system-collections-generic-list-1-videodistribution-mediadata-type-a-originates-from-mscorlib-version-2-0-0-0-cul.aspx</link><pubDate>Sat, 05 Dec 2009 02:47:17 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184665</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184665</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/12/05/system-invalidcastexception-a-system-collections-generic-list-1-videodistribution-mediadata-cannot-be-cast-to-b-system-collections-generic-list-1-videodistribution-mediadata-type-a-originates-from-mscorlib-version-2-0-0-0-cul.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;i’ve got this strange error on my handler. if i set isreuseable to false The error getting obvious. Like they are on differen process and different type. So finally found out that i make a protected class on my handler. Move The class to the APP_Code and that should solve this&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/12/05/system-invalidcastexception-a-system-collections-generic-list-1-videodistribution-mediadata-cannot-be-cast-to-b-system-collections-generic-list-1-videodistribution-mediadata-type-a-originates-from-mscorlib-version-2-0-0-0-cul.aspx&amp;amp;subject=System.InvalidCastException: [A]System.Collections.Generic.List`1[VideoDistribution+mediaData] cannot be cast to [B]System.Collections.Generic.List`1[VideoDistribution+mediaData]. Type A originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKe" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/12/05/system-invalidcastexception-a-system-collections-generic-list-1-videodistribution-mediadata-cannot-be-cast-to-b-system-collections-generic-list-1-videodistribution-mediadata-type-a-originates-from-mscorlib-version-2-0-0-0-cul.aspx&amp;amp;t=System.InvalidCastException%3a+%5bA%5dSystem.Collections.Generic.List%601%5bVideoDistribution%2bmediaData%5d+cannot+be+cast+to+%5bB%5dSystem.Collections.Generic.List%601%5bVideoDistribution%2bmediaData%5d.+Type+A+originates+from+%27mscorlib%2c+Version%3d2.0.0.0%2c+Culture%3dneutral%2c+PublicKe" target="_blank" title="Submit System.InvalidCastException: [A]System.Collections.Generic.List`1[VideoDistribution+mediaData] cannot be cast to [B]System.Collections.Generic.List`1[VideoDistribution+mediaData]. Type A originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKe to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/12/05/system-invalidcastexception-a-system-collections-generic-list-1-videodistribution-mediadata-cannot-be-cast-to-b-system-collections-generic-list-1-videodistribution-mediadata-type-a-originates-from-mscorlib-version-2-0-0-0-cul.aspx&amp;amp;title=System.InvalidCastException%3a+%5bA%5dSystem.Collections.Generic.List%601%5bVideoDistribution%2bmediaData%5d+cannot+be+cast+to+%5bB%5dSystem.Collections.Generic.List%601%5bVideoDistribution%2bmediaData%5d.+Type+A+originates+from+%27mscorlib%2c+Version%3d2.0.0.0%2c+Culture%3dneutral%2c+PublicKe" target="_blank" title="Submit System.InvalidCastException: [A]System.Collections.Generic.List`1[VideoDistribution+mediaData] cannot be cast to [B]System.Collections.Generic.List`1[VideoDistribution+mediaData]. Type A originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKe to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/12/05/system-invalidcastexception-a-system-collections-generic-list-1-videodistribution-mediadata-cannot-be-cast-to-b-system-collections-generic-list-1-videodistribution-mediadata-type-a-originates-from-mscorlib-version-2-0-0-0-cul.aspx&amp;amp;phase=2" target="_blank" title="Submit System.InvalidCastException: [A]System.Collections.Generic.List`1[VideoDistribution+mediaData] cannot be cast to [B]System.Collections.Generic.List`1[VideoDistribution+mediaData]. Type A originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKe to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/12/05/system-invalidcastexception-a-system-collections-generic-list-1-videodistribution-mediadata-cannot-be-cast-to-b-system-collections-generic-list-1-videodistribution-mediadata-type-a-originates-from-mscorlib-version-2-0-0-0-cul.aspx&amp;amp;title=System.InvalidCastException%3a+%5bA%5dSystem.Collections.Generic.List%601%5bVideoDistribution%2bmediaData%5d+cannot+be+cast+to+%5bB%5dSystem.Collections.Generic.List%601%5bVideoDistribution%2bmediaData%5d.+Type+A+originates+from+%27mscorlib%2c+Version%3d2.0.0.0%2c+Culture%3dneutral%2c+PublicKe" target="_blank" title="Add System.InvalidCastException: [A]System.Collections.Generic.List`1[VideoDistribution+mediaData] cannot be cast to [B]System.Collections.Generic.List`1[VideoDistribution+mediaData]. Type A originates from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKe to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184665" width="1" height="1"&gt;</description></item><item><title>.Net support for XSLT 2.0</title><link>http://netindonesia.net/blogs/cipto/archive/2009/11/26/net-support-for-xslt-2-0.aspx</link><pubDate>Thu, 26 Nov 2009 11:06:17 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184598</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184598</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/11/26/net-support-for-xslt-2-0.aspx#comments</comments><description>&lt;p&gt;On my way of searching Simple URL ENcode on xslt. there are few solution which i haven’t test, using encoding, Calling a built in template.&lt;/p&gt;  &lt;p&gt;It turns out that there’s a built in function in xslt 2.0 : encode-for-uri.&lt;/p&gt;  &lt;p&gt;And .Net support under that msscript namespace is Still 1.0.&lt;/p&gt;  &lt;p&gt;On MSDN , when .net 2.0 released it support 1.0 because simply 2.0 is not ready yet.&lt;/p&gt;  &lt;p&gt;There are library for this which is build by Microsoft MVP, called &lt;a href="http://www.tkachenko.com/blog/archives/000535.html"&gt;MVP.XML&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/11/26/net-support-for-xslt-2-0.aspx&amp;amp;subject=.Net support for XSLT 2.0" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/11/26/net-support-for-xslt-2-0.aspx&amp;amp;t=.Net+support+for+XSLT+2.0" target="_blank" title="Submit .Net support for XSLT 2.0 to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/net-support-for-xslt-2-0.aspx&amp;amp;title=.Net+support+for+XSLT+2.0" target="_blank" title="Submit .Net support for XSLT 2.0 to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/net-support-for-xslt-2-0.aspx&amp;amp;phase=2" target="_blank" title="Submit .Net support for XSLT 2.0 to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/net-support-for-xslt-2-0.aspx&amp;amp;title=.Net+support+for+XSLT+2.0" target="_blank" title="Add .Net support for XSLT 2.0 to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184598" width="1" height="1"&gt;</description></item><item><title>XSLT Support for Calling .Net Function</title><link>http://netindonesia.net/blogs/cipto/archive/2009/11/26/xslt-support-for-calling-net-function.aspx</link><pubDate>Thu, 26 Nov 2009 10:58:50 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184597</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184597</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/11/26/xslt-support-for-calling-net-function.aspx#comments</comments><description>&lt;p&gt;.Net Support only xslt 1.0&lt;/p&gt;  &lt;p&gt;I’ve just found out that We can call .net function inside XSLT, &lt;a href="http://msdn.microsoft.com/en-us/library/533texsx(VS.71).aspx"&gt;Example&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;using msxsl:script tag&lt;/p&gt;  &lt;p&gt;You can Make a C# function and use on your template&lt;/p&gt;  &lt;p&gt;ain’t it cool? But read more that It’s &lt;a href="http://www.tkachenko.com/blog/archives/000620.html"&gt;Evil&lt;/a&gt; and &lt;a href="http://social.msdn.microsoft.com/forums/en-US/xmlandnetfx/thread/3327c88a-eb03-4485-8cdc-250582416d0c/"&gt;Here&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;“The problem is that when XSLT stylesheet is loaded in .NET, msxsl:script is compiled into an assembly via &lt;/em&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/y2k85ax6.aspx"&gt;&lt;em&gt;CodeDOM&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and then loaded into memory, into the current application domain. Each time the stylesheet is loaded above process is repeated - new assembly is being generated and loaded into the application domain. But it&amp;#39;s impossible to unload an assembly from application domain in .NET!”&lt;/em&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/11/26/xslt-support-for-calling-net-function.aspx&amp;amp;subject=XSLT Support for Calling .Net Function" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/11/26/xslt-support-for-calling-net-function.aspx&amp;amp;t=XSLT+Support+for+Calling+.Net+Function" target="_blank" title="Submit XSLT Support for Calling .Net Function to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/xslt-support-for-calling-net-function.aspx&amp;amp;title=XSLT+Support+for+Calling+.Net+Function" target="_blank" title="Submit XSLT Support for Calling .Net Function to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/xslt-support-for-calling-net-function.aspx&amp;amp;phase=2" target="_blank" title="Submit XSLT Support for Calling .Net Function to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/xslt-support-for-calling-net-function.aspx&amp;amp;title=XSLT+Support+for+Calling+.Net+Function" target="_blank" title="Add XSLT Support for Calling .Net Function to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184597" width="1" height="1"&gt;</description></item><item><title>Client Side Repeater and Paging</title><link>http://netindonesia.net/blogs/cipto/archive/2009/11/26/client-side-repeater-and-paging.aspx</link><pubDate>Thu, 26 Nov 2009 06:42:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:184595</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=184595</wfw:commentRss><comments>http://netindonesia.net/blogs/cipto/archive/2009/11/26/client-side-repeater-and-paging.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Aloha.. So on this Article lest discuss How to Do a Repeater From Template But Client Side and Paging We are going to Use JTemplate and jquery Pagination. Imagine that a repeater that does not use server memory and Adding something to The Control Tree. :) Feed Them Json and They shall work, Neat.. So First We need a div container for Paging and the content it self, News-Pagination Div would be the paging container, and Mycontainer is End result container for our data&lt;/font&gt;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;lt;div&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    &amp;lt;div style=&lt;span class="str"&gt;&amp;quot;width:100%;&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &amp;lt;div id=&lt;span class="str"&gt;&amp;quot;News-Pagination&amp;quot;&lt;/span&gt; style=&lt;span class="str"&gt;&amp;quot;float:right&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;pagination&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &amp;lt;div style=&lt;span class="str"&gt;&amp;quot;clear:both;margin-bottom:10px&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;front64&amp;quot;&lt;/span&gt; id=&lt;span class="str"&gt;&amp;quot;MyContainer&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;On first Call we need to Set the Total Row That return (line 17), so that the paging can runs. What i don’t like about this is we have to make a double call.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;We Can set The Template By URL or Feed String directly , The pattern is like line 27-28. On Next or Prev The Event Handler is Line 39&lt;/font&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;function MyInitialClass{&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;this&lt;/span&gt;.pagenumber=1,&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="kwrd"&gt;this&lt;/span&gt;.pagesize=4,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="kwrd"&gt;this&lt;/span&gt;.totalmessage=0&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;}&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;var popMessage = &lt;span class="kwrd"&gt;new&lt;/span&gt; MyInitialClass();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;$(document).ready(function() {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;   FirstCall(popMessage.pagenumber, popMessage.pagesize);  &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;});&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;function FirstCall(pageindex, pagesize) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    $.getJSON(&lt;span class="str"&gt;&amp;#39;services/MyHandler.ashx?p=&amp;#39;&lt;/span&gt; + pageindex + &lt;span class="str"&gt;&amp;#39;&amp;amp;s=&amp;#39;&lt;/span&gt; + pagesize, function(messages) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        popMessage.totalmessage = messages.totalmessage;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        $(&lt;span class="str"&gt;&amp;quot;#News-Pagination&amp;quot;&lt;/span&gt;).pagination(popMessage.totalmessage, {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            items_per_page: popMessage.pagesize,&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            callback: handlePaginationClick        &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;        });&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;    });&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;function GetNext(pageindex, pagesize) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;    $(&lt;span class="str"&gt;&amp;#39;#MyContainer&amp;#39;&lt;/span&gt;).fadeOut(&lt;span class="str"&gt;&amp;#39;medium&amp;#39;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;    $.getJSON(&lt;span class="str"&gt;&amp;#39;services/MyHandler.ashx?p=&amp;#39;&lt;/span&gt; + pageindex + &lt;span class="str"&gt;&amp;#39;&amp;amp;s=&amp;#39;&lt;/span&gt; + pagesize, function(messages) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;        &lt;span class="rem"&gt;//Set and Apply template&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;        var template = $(&lt;span class="str"&gt;&amp;#39;#item_template&amp;#39;&lt;/span&gt;).html();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;        $(&lt;span class="str"&gt;&amp;#39;#MyContainer&amp;#39;&lt;/span&gt;).setTemplate(template);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;        $(&lt;span class="str"&gt;&amp;#39;#MyContainer&amp;#39;&lt;/span&gt;).processTemplate(messages);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;        &lt;span class="rem"&gt;//set total&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;        &lt;span class="kwrd"&gt;for&lt;/span&gt; (var a = 0; a &amp;lt; messages.messages.length; a++) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;            document.getElementById(messages.messages&lt;img src="http://geeks.netindonesia.net/emoticons/emotion-13.gif" alt="Angel" /&gt;.rootmessageid).innerHTML = messages.message&lt;img src="http://geeks.netindonesia.net/emoticons/emotion-13.gif" alt="Angel" /&gt;.message;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;        $(&lt;span class="str"&gt;&amp;#39;#MyContainer&amp;#39;&lt;/span&gt;).hide().fadeIn(&lt;span class="str"&gt;&amp;#39;slow&amp;#39;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;       popMessage.totalmessage = messages.totalmessage;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;    });&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;function handlePaginationClick(new_pageindex, pagination_container) {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;    GetNext(new_pageindex + 1, popMessage.pagesize);            &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;     &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Another Trick would Be, if you see on Line 27. We are Getting Template From a Script Type=text/html.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;If you put script type=text/html ,this will hide any markup in the document without interfering with HTML validator.we can put inline our Template in the Same page with out any Error and it will not displayed on page.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;So Put our template on page. Below is only Example&lt;/font&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;lt;script type=&lt;span class="str"&gt;&amp;quot;text/html&amp;quot;&lt;/span&gt; id=&lt;span class="str"&gt;&amp;quot;item_template&amp;quot;&lt;/span&gt;&amp;gt;    &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;lt;div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &amp;lt;ul&amp;gt;   &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        {#&lt;span class="kwrd"&gt;foreach&lt;/span&gt; $T.messages &lt;span class="kwrd"&gt;as&lt;/span&gt; record}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &amp;lt;li&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;vcard&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                &amp;lt;strong&amp;gt;&amp;lt;a href=&lt;span class="str"&gt;&amp;quot;{$T.record.fullname}/{$T.record.shortname}&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;{$T.record.firstname} {$T.record.lastname}&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                    &amp;lt;span &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;userImage&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                        &amp;lt;img &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;photo&amp;quot;&lt;/span&gt; alt=&lt;span class="str"&gt;&amp;quot;alt tag here&amp;quot;&lt;/span&gt; src=&lt;span class="str"&gt;&amp;quot;services/imageHandler.ashx?image=images/upload/photos/c{$T.record.clientid}avbig.jpg&amp;amp;amp;w=63&amp;amp;amp;h=63&amp;amp;amp;always=true&amp;amp;amp;aspec=true&amp;amp;amp;nopic=noavatarl&amp;amp;amp;resizeby=w&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                            height=&lt;span class="str"&gt;&amp;quot;63&amp;quot;&lt;/span&gt; width=&lt;span class="str"&gt;&amp;quot;63&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;nickname&amp;quot;&lt;/span&gt;&amp;gt;{$T.record.firstname} {$T.record.lastname}&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/strong&amp;gt;&amp;amp;nbsp;wrote:&amp;lt;br&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;               &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                &amp;lt;div id=&lt;span class="str"&gt;&amp;quot;{$T.record.rootmessageid}&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;hr3&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            &amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        &amp;lt;/li&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;       &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        {#/&lt;span class="kwrd"&gt;for&lt;/span&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;    &amp;lt;/ul&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="csharpcode"&gt;On Your Handler Do A Paging On Your Store Proc,Receving P as page and S as size and Output The endresult with Json, I use Newtonsoft.Json.Linq.JObject for a long time.&lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt; var json = JObject.FromObject(&lt;span class="kwrd"&gt;new&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;                                                  {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;                                                      messages = (from c &lt;span class="kwrd"&gt;in&lt;/span&gt; result&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;                                                                  select&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;                                                                      &lt;span class="kwrd"&gt;new&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;                                                                          {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                                                                              fullname = c.fullname,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                                                                              firstname = c.firstname,&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                                                                              lastname = c.lastname,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                                                                              clientid = c.clientid,&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                                                                              shortname = c.shortname,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                                                                              message = c.message,&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                                                                              messagetypeid = c.messagetypeid,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                                                                              rootmessageid = c.rootmessageid,&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                                                                              sum = c.sum&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                                                                          }),&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;                                                      totalmessage = howmanyitems&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;                                                  });&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;                context.Response.Write(json.ToString());&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;                context.Response.End();&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;That’s it . See you again Folks&lt;/font&gt;&lt;/p&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://netindonesia.net/blogs/cipto/archive/2009/11/26/client-side-repeater-and-paging.aspx&amp;amp;subject=Client Side Repeater and Paging" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://netindonesia.net/blogs/cipto/archive/2009/11/26/client-side-repeater-and-paging.aspx&amp;amp;t=Client+Side+Repeater+and+Paging" target="_blank" title="Submit Client Side Repeater and Paging to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/client-side-repeater-and-paging.aspx&amp;amp;title=Client+Side+Repeater+and+Paging" target="_blank" title="Submit Client Side Repeater and Paging to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/client-side-repeater-and-paging.aspx&amp;amp;phase=2" target="_blank" title="Submit Client Side Repeater and Paging to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://netindonesia.net/blogs/cipto/archive/2009/11/26/client-side-repeater-and-paging.aspx&amp;amp;title=Client+Side+Repeater+and+Paging" target="_blank" title="Add Client Side Repeater and Paging to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://netindonesia.net/aggbug.aspx?PostID=184595" width="1" height="1"&gt;</description></item></channel></rss>