<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>3 ASP.NET Server controls and Client-Sode Scripts</title>
        <link>http://geekswithblogs.net/mauliksoni/category/4011.aspx</link>
        <description>3 ASP.NET Server controls and Client-Sode Scripts</description>
        <language>en-US</language>
        <copyright>Maulik Soni</copyright>
        <managingEditor>soni.maulik@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Application and Page Framework</title>
            <link>http://geekswithblogs.net/mauliksoni/archive/2006/02/25/70718.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Verdana size=1&gt;This post discuss about general ASP.NET 2.0 application and page framework.&lt;/FONT&gt;&lt;/P&gt;&lt;U&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Application Location Options&lt;/FONT&gt;&lt;/U&gt;&lt;FONT face=Verdana size=1&gt;- With ASP.NET 2.0 you have the options to create an application with followings: &lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;File System &amp;#8211; uses Visual Studio 2005 development server&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Local IIS &amp;#8211; uses IIS as web application server&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;FTP Site&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Remote Site&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;U&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Page Structure Options &amp;#8211;&lt;/FONT&gt;&lt;/U&gt;&lt;FONT face=Verdana size=1&gt; ASP.NET 2.0 provides two paths fro structuring the code of your application.&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Code Inline Model &amp;#8211; All the code contained in a single aspx file&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Code Behind Model &amp;#8211; Code separation of the page's Business Logic from its presentation logic. Business logic is stored in .aspx.vb file whereas presentation logic stored in aspx file.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;To code as InLine coding &amp;#8211; while you create a new project don't check "put this code in separate file. Now in Visual Studio 2005 inline coding also supports intelli Sence.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;New Code Behind model &amp;#8211; select 'place code in separate file" checkbox.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;&amp;lt;%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default"%&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;The aspx page using the new ASP.NET 2.0 code behind model has some attributes in page directive different from those in ASP.NET 1.x. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;CodeFile = Point to the code behind file which is used with this presentation page. In this case default.aspx.vb.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Inherits = this attribute was available in previous version of ASP.NET 1.x but very little used. The attribute specifies the name of the class that is bound to the page when the page is compiled.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;The followings are the ASP.NET 2.0 page directives. ( for more info pl. loot at msdn)&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Page&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Master&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Control&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Import&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Implements&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Register&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Assembly&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@PreviousPageType &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@MasterType&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Output Cache&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;@Reference&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;ASP.NET 2.0 Page Events&lt;/FONT&gt;&lt;/P&gt;&lt;U&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Page Events&lt;/FONT&gt;&lt;/U&gt;&lt;FONT face=Verdana size=1&gt; &amp;#8211; The followings are the new page events supported by ASP.NET 2.0&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;InitComplete - Indicates the initialization of the page is completed&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;LoadComplete &amp;#8211; Indicates the page has been completely loaded into memory.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;PreInit &amp;#8211; Indicates the moment before a page has been loaded into memory.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;PreRenderComplete &amp;#8211; Indicates the moment directly before a page has been redirected in the browser.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;U&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;The order of PAGE EVENTS&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;&lt;/U&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;PreInit&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Init&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;InitComplete&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;PreLoad&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Load&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;LoadComplete&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;PreRender&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;PreRenderComplete&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Unload&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;U&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Dealing with POSTBACK &amp;#8211;&lt;/FONT&gt;&lt;/U&gt;&lt;FONT face=Verdana size=1&gt; in ASP.NET 1.x pages typically posted back to themselves in order to process events. For this reason you must differentiate between post for the first time a page is loaded by the end user and POSTBACK. Then you use either&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;If Page.IsPostBack=True then&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;'Do processing&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;End If&lt;/FONT&gt;&lt;/P&gt;&lt;B&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;or&lt;/FONT&gt;&lt;/P&gt;&lt;/B&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;If Not IsPostBack then&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;'Do processing&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;End If&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;U&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Cross Page Posting&lt;/FONT&gt;&lt;/U&gt;&lt;FONT face=Verdana size=1&gt;- In many cases developer wants that ability to post to another page and deal with the first page's control values on the page. This is now possible in ASP.NET 2.0 and it is quit simple propcess.&lt;/FONT&gt;&lt;/P&gt;&lt;I&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Example using Previouspage.FindControl method&lt;/FONT&gt;&lt;/P&gt;&lt;/I&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Create page1.aspx with textbox and 2 button control&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;On 2&lt;SUP&gt;nd&lt;/SUP&gt; button set text property = "post back to page2"&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Go to property window (F4) and locate PostBackURL propery of 2&lt;SUP&gt;nd&lt;/SUP&gt; Button Control - and set it to"page2.aspx"&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Now create a Page2.aspx&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;in page load event write followings:&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;DIR&gt;
&lt;DIR&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;dim pp_textbox1 as textbox&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;pp_textbox1=ctype(PreviousPage.FindControl("Textbox1"),textbox)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;response.write(pp_textbox1.text)&lt;/FONT&gt;&lt;/P&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;I&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Example using Public Property-&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;&lt;/I&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;in page 1 create public read only properties&lt;/FONT&gt;&lt;/LI&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;Public ReadOnly Property pp_TextBox1() as TextBox&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;Get&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;Return TextBox1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;End Get&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Consuming the exposed properties from page1&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;go to page2 SourceView&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;Add followings&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;&amp;lt;%@ PreviousPageType VirtualPath="page1.aspx"%&amp;gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=1&gt;in page_load event write&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana color=#0000ff size=1&gt;Response.write(PreviousPage.pp_TextBox1.text)&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;now, if the user directly request page2 &amp;#8211; then previouspage will have null values. To prevent this error &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;use &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;ISCROSSPAGEPOSTBACK property.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Maulik Soni&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70718"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70718" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mauliksoni/aggbug/70718.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Maulik Soni</dc:creator>
            <guid>http://geekswithblogs.net/mauliksoni/archive/2006/02/25/70718.aspx</guid>
            <pubDate>Sat, 25 Feb 2006 20:35:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mauliksoni/comments/70718.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mauliksoni/archive/2006/02/25/70718.aspx#feedback</comments>
            <slash:comments>11</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mauliksoni/comments/commentRss/70718.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mauliksoni/services/trackbacks/70718.aspx</trackback:ping>
        </item>
    </channel>
</rss>