<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Ghazi Sarhan's Blog - ASP.NET</title>
    <link>http://blog.delmonbay.com/</link>
    <description>Can't Get Enough</description>
    <language>en-us</language>
    <copyright>Ghazi Sarhan</copyright>
    <lastBuildDate>Thu, 17 Jan 2008 13:16:50 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>ghazi@delmonbay.com</managingEditor>
    <webMaster>ghazi@delmonbay.com</webMaster>
    <item>
      <trackback:ping>http://blog.delmonbay.com/Trackback.aspx?guid=11fdb780-7db9-4a37-8851-a288bc45f5c9</trackback:ping>
      <pingback:server>http://blog.delmonbay.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.delmonbay.com/PermaLink,guid,11fdb780-7db9-4a37-8851-a288bc45f5c9.aspx</pingback:target>
      <dc:creator>Ghazi Sarhan</dc:creator>
      <wfw:comment>http://blog.delmonbay.com/CommentView,guid,11fdb780-7db9-4a37-8851-a288bc45f5c9.aspx</wfw:comment>
      <wfw:commentRss>http://blog.delmonbay.com/SyndicationService.asmx/GetEntryCommentsRss?guid=11fdb780-7db9-4a37-8851-a288bc45f5c9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Loading WebUserControls `.ascx` files at runtime gives you the ability to create a
dynamic page, the ability to create a page that accept plugins.
</p>
        <p>
The problem is when you load WebUserControl at runtime, any postback caused by the
page or the control itself will cause the control to disappear, here is a simple way
explaining how to load these controls and maintaining them after postback.
</p>
        <p>
First create two WebUserControls as shown below:
</p>
        <p>
          <img src="http://blog.delmonbay.com/content/binary/Control1.jpg" border="0" />
        </p>
        <p>
          <img src="http://blog.delmonbay.com/content/binary/Control2.jpg" border="0" />
        </p>
        <p>
 
</p>
        <p>
In the Save Button's code behind for both controls, write the following code:
</p>
        <pre>
          <font size="2">
            <p>
            </p>
          </font>
          <font color="#0000ff" size="2">protected</font>
          <font size="2">
          </font>
          <font color="#0000ff" size="2">void</font>
          <font size="2"> butSave_Click(</font>
          <font color="#0000ff" size="2">object</font>
          <font size="2"> sender, </font>
          <font color="#2b91af" size="2">EventArgs</font>
          <font size="2"> e)
<p>
{
</p><p>
   Label1.Text = TextBox1.Text;
</p><p>
}
</p></font>
        </pre>
        <p>
Then create an `aspx` page with three Buttons and a Panel on the page as shown
below:
</p>
        <p>
          <img src="http://blog.delmonbay.com/content/binary/Page1.jpg" border="0" />
        </p>
        <p>
 
</p>
        <p>
Write the following code in page's code behind:
</p>
        <pre>
          <font size="2">
            <p>
            </p>
          </font>
          <font color="#0000ff" size="2">protected</font>
          <font size="2">
          </font>
          <font color="#0000ff" size="2">void</font>
          <font size="2"> Page_Load(</font>
          <font color="#0000ff" size="2">object</font>
          <font size="2"> sender, </font>
          <font color="#2b91af" size="2">EventArgs</font>
          <font size="2"> e)
<p>
{
</p><p></p></font>
          <font color="#0000ff" size="2">   if</font>
          <font size="2"> (ViewState[</font>
          <font color="#a31515" size="2">"myControl"</font>
          <font size="2">]
!= </font>
          <font color="#0000ff" size="2">null</font>
          <font size="2"> &amp;&amp; ((</font>
          <font color="#0000ff" size="2">string</font>
          <font size="2">)ViewState[</font>
          <font color="#a31515" size="2">"myControl"</font>
          <font size="2">])
!= </font>
          <font color="#0000ff" size="2">string</font>
          <font size="2">.Empty)
<p>
   {
</p><p></p></font>
          <font color="#2b91af" size="2">      UserControl</font>
          <font size="2"> uc
= LoadControl(ViewState[</font>
          <font color="#a31515" size="2">"myControl"</font>
          <font size="2">]
+ </font>
          <font color="#a31515" size="2">".ascx"</font>
          <font size="2">) </font>
          <font color="#0000ff" size="2">as</font>
          <font size="2">
          </font>
          <font color="#2b91af" size="2">UserControl</font>
          <font size="2">;
<p>
      uc.ID = ((
</p></font>
          <font color="#0000ff" size="2">string</font>
          <font size="2">)ViewState[</font>
          <font color="#a31515" size="2">"myControl"</font>
          <font size="2">]);
<p></p></font>
          <font color="#008000" size="2">      // Do
not clear Panel1's controls in `Page_Load` using `Panel1.Controls.Clear()`</font>
          <p>
            <font color="#008000" size="2">      // in some cases
the control's viewstate will be lost.
</font>
          </p>
          <font size="2">
            <p>
      Panel1.Controls.Add(uc);
</p>
            <p>
   }
</p>
            <p>
}
</p>
            <p>
 
</p>
            <p>
            </p>
          </font>
          <font color="#0000ff" size="2">protected</font>
          <font size="2">
          </font>
          <font color="#0000ff" size="2">void</font>
          <font size="2"> butLoadControl1_Click(</font>
          <font color="#0000ff" size="2">object</font>
          <font size="2"> sender, </font>
          <font color="#2b91af" size="2">EventArgs</font>
          <font size="2"> e)
<p>
{
</p><p>
   ViewState[
</p></font>
          <font color="#a31515" size="2">"myControl"</font>
          <font size="2">] = </font>
          <font color="#a31515" size="2">"WebUserControl1"</font>
          <font size="2">;
<p></p></font>
          <font color="#2b91af" size="2">   UserControl</font>
          <font size="2"> uc
= LoadControl(</font>
          <font color="#a31515" size="2">"WebUserControl1.ascx"</font>
          <font size="2">) </font>
          <font color="#0000ff" size="2">as</font>
          <font size="2">
          </font>
          <font color="#2b91af" size="2">UserControl</font>
          <font size="2">;
<p>
   uc.ID = 
</p></font>
          <font color="#a31515" size="2">"WebUserControl1"</font>
          <font size="2">;
<p>
   Panel1.Controls.Clear();
</p><p>
   Panel1.Controls.Add(uc);
</p><p>
}
</p><p>
 
</p><p></p></font>
          <font color="#0000ff" size="2">protected</font>
          <font size="2">
          </font>
          <font color="#0000ff" size="2">void</font>
          <font size="2"> butLoadControl2_Click(</font>
          <font color="#0000ff" size="2">object</font>
          <font size="2"> sender, </font>
          <font color="#2b91af" size="2">EventArgs</font>
          <font size="2"> e)
<p>
{
</p><p>
   ViewState[
</p></font>
          <font color="#a31515" size="2">"myControl"</font>
          <font size="2">] = </font>
          <font color="#a31515" size="2">"WebUserControl2"</font>
          <font size="2">;
<p></p></font>
          <font color="#2b91af" size="2">   UserControl</font>
          <font size="2"> uc
= LoadControl(</font>
          <font color="#a31515" size="2">"WebUserControl2.ascx"</font>
          <font size="2">) </font>
          <font color="#0000ff" size="2">as</font>
          <font size="2">
          </font>
          <font color="#2b91af" size="2">UserControl</font>
          <font size="2">;
<p>
   uc.ID = 
</p></font>
          <font color="#a31515" size="2">"WebUserControl2"</font>
          <font size="2">;
<p>
   Panel1.Controls.Clear();
</p><p>
   Panel1.Controls.Add(uc);
</p><p>
}
</p><p>
 
</p><p>
 
</p></font>
        </pre>
        <p>
Run the code, and test it your self.
</p>
        <p>
 
</p>
        <p>
To download a sample project click the below link:
</p>
        <a href="http://blog.delmonbay.com/content/binary/LoadDynamicWebUserControl.zip">LoadDynamicWebUserControl.zip
(3.23 KB)</a>
        <img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=11fdb780-7db9-4a37-8851-a288bc45f5c9" />
      </body>
      <title>Load WebUserControl at runtime and maintain its ViewState</title>
      <guid isPermaLink="false">http://blog.delmonbay.com/PermaLink,guid,11fdb780-7db9-4a37-8851-a288bc45f5c9.aspx</guid>
      <link>http://blog.delmonbay.com/2008/01/17/LoadWebUserControlAtRuntimeAndMaintainItsViewState.aspx</link>
      <pubDate>Thu, 17 Jan 2008 13:16:50 GMT</pubDate>
      <description>&lt;p&gt;
Loading WebUserControls `.ascx` files at runtime gives you the ability to create&amp;nbsp;a
dynamic page, the ability to create a page that accept plugins.
&lt;/p&gt;
&lt;p&gt;
The problem is when you load WebUserControl at runtime, any postback caused by the
page or the control itself will cause the control to disappear, here is a simple way
explaining how to load these controls and maintaining them after postback.
&lt;/p&gt;
&lt;p&gt;
First create two WebUserControls as shown below:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blog.delmonbay.com/content/binary/Control1.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blog.delmonbay.com/content/binary/Control2.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
In the Save Button's code behind for both controls, write the following code:
&lt;/p&gt;
&lt;pre&gt;&lt;font size=2&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;protected&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;void&lt;/font&gt;&lt;font size=2&gt; butSave_Click(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;EventArgs&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;Label1.Text = TextBox1.Text;
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;
Then create an `aspx` page&amp;nbsp;with three Buttons and a Panel on the page as shown
below:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blog.delmonbay.com/content/binary/Page1.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Write the following code in page's code behind:
&lt;/p&gt;
&lt;pre&gt;&lt;font size=2&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;protected&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;void&lt;/font&gt;&lt;font size=2&gt; Page_Load(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;EventArgs&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/font&gt;&lt;font size=2&gt; (ViewState[&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"myControl"&lt;/font&gt;&lt;font size=2&gt;]
!= &lt;/font&gt;&lt;font color=#0000ff size=2&gt;null&lt;/font&gt;&lt;font size=2&gt; &amp;amp;&amp;amp; ((&lt;/font&gt;&lt;font color=#0000ff size=2&gt;string&lt;/font&gt;&lt;font size=2&gt;)ViewState[&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"myControl"&lt;/font&gt;&lt;font size=2&gt;])
!= &lt;/font&gt;&lt;font color=#0000ff size=2&gt;string&lt;/font&gt;&lt;font size=2&gt;.Empty)&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UserControl&lt;/font&gt;&lt;font size=2&gt; uc
= LoadControl(ViewState[&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"myControl"&lt;/font&gt;&lt;font size=2&gt;]
+ &lt;/font&gt;&lt;font color=#a31515 size=2&gt;".ascx"&lt;/font&gt;&lt;font size=2&gt;) &lt;/font&gt;&lt;font color=#0000ff size=2&gt;as&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;UserControl&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uc.ID = ((
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;string&lt;/font&gt;&lt;font size=2&gt;)ViewState[&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"myControl"&lt;/font&gt;&lt;font size=2&gt;]);&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Do not clear
Panel1's controls in `Page_Load` using `Panel1.Controls.Clear()`&lt;/font&gt;&gt;
&lt;p&gt;
&lt;font color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// in some cases the
control's viewstate will be lost.
&lt;/p&gt;
&gt;&lt;font size=2&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Panel1.Controls.Add(uc);
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;protected&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;void&lt;/font&gt;&lt;font size=2&gt; butLoadControl1_Click(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;EventArgs&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewState[
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"myControl"&lt;/font&gt;&lt;font size=2&gt;] = &lt;/font&gt;&lt;font color=#a31515 size=2&gt;"WebUserControl1"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;UserControl&lt;/font&gt;&lt;font size=2&gt; uc
= LoadControl(&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"WebUserControl1.ascx"&lt;/font&gt;&lt;font size=2&gt;) &lt;/font&gt;&lt;font color=#0000ff size=2&gt;as&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;UserControl&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;uc.ID = 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"WebUserControl1"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;Panel1.Controls.Clear();
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;Panel1.Controls.Add(uc);
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;protected&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;void&lt;/font&gt;&lt;font size=2&gt; butLoadControl2_Click(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;EventArgs&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewState[
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"myControl"&lt;/font&gt;&lt;font size=2&gt;] = &lt;/font&gt;&lt;font color=#a31515 size=2&gt;"WebUserControl2"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;UserControl&lt;/font&gt;&lt;font size=2&gt; uc
= LoadControl(&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"WebUserControl2.ascx"&lt;/font&gt;&lt;font size=2&gt;) &lt;/font&gt;&lt;font color=#0000ff size=2&gt;as&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;UserControl&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;uc.ID = 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"WebUserControl2"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;Panel1.Controls.Clear();
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;Panel1.Controls.Add(uc);
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;
Run the code, and test it your self.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
To download a sample project click the below link:
&lt;/p&gt;
&lt;a href="http://blog.delmonbay.com/content/binary/LoadDynamicWebUserControl.zip"&gt;LoadDynamicWebUserControl.zip
(3.23 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=11fdb780-7db9-4a37-8851-a288bc45f5c9" /&gt;</description>
      <comments>http://blog.delmonbay.com/CommentView,guid,11fdb780-7db9-4a37-8851-a288bc45f5c9.aspx</comments>
      <category>ASP.NET</category>
      <category>C#</category>
    </item>
    <item>
      <trackback:ping>http://blog.delmonbay.com/Trackback.aspx?guid=a30f9d04-aaea-4501-8053-580b1aa74623</trackback:ping>
      <pingback:server>http://blog.delmonbay.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.delmonbay.com/PermaLink,guid,a30f9d04-aaea-4501-8053-580b1aa74623.aspx</pingback:target>
      <dc:creator>Ghazi Sarhan</dc:creator>
      <wfw:comment>http://blog.delmonbay.com/CommentView,guid,a30f9d04-aaea-4501-8053-580b1aa74623.aspx</wfw:comment>
      <wfw:commentRss>http://blog.delmonbay.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a30f9d04-aaea-4501-8053-580b1aa74623</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just found a few minutes ago, that you can take an ASP.NET 2.0 application offline
temporarily by uploading a file called App_Offline.htm.  It will spin down the
appdomain and redirect all requests to that page.
</p>
        <img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=a30f9d04-aaea-4501-8053-580b1aa74623" />
      </body>
      <title>Take Your ASP.NET 2.0 App Offline</title>
      <guid isPermaLink="false">http://blog.delmonbay.com/PermaLink,guid,a30f9d04-aaea-4501-8053-580b1aa74623.aspx</guid>
      <link>http://blog.delmonbay.com/2008/01/17/TakeYourASPNET20AppOffline.aspx</link>
      <pubDate>Thu, 17 Jan 2008 01:18:28 GMT</pubDate>
      <description>&lt;p&gt;
I just found a few minutes ago, that you can take an ASP.NET 2.0 application offline
temporarily by uploading a file called App_Offline.htm.&amp;nbsp; It will spin down the
appdomain and redirect all requests to that page.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=a30f9d04-aaea-4501-8053-580b1aa74623" /&gt;</description>
      <comments>http://blog.delmonbay.com/CommentView,guid,a30f9d04-aaea-4501-8053-580b1aa74623.aspx</comments>
      <category>ASP.NET</category>
    </item>
    <item>
      <trackback:ping>http://blog.delmonbay.com/Trackback.aspx?guid=47b54953-eac8-47af-a7b3-dc21b4605753</trackback:ping>
      <pingback:server>http://blog.delmonbay.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.delmonbay.com/PermaLink,guid,47b54953-eac8-47af-a7b3-dc21b4605753.aspx</pingback:target>
      <dc:creator>Ghazi Sarhan</dc:creator>
      <wfw:comment>http://blog.delmonbay.com/CommentView,guid,47b54953-eac8-47af-a7b3-dc21b4605753.aspx</wfw:comment>
      <wfw:commentRss>http://blog.delmonbay.com/SyndicationService.asmx/GetEntryCommentsRss?guid=47b54953-eac8-47af-a7b3-dc21b4605753</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I found a great post on <a href="http://blogs.msdn.com/dmitryr/archive/2007/01/23/finding-out-the-current-trust-level-in-asp-net.aspx">dmitryr's
blog</a> on how to find the current trust level for your ASP.NET application,
it is practical if you are hosting your site on a hosting company as the hosting company
can set the trust level for your application in their machine.config file, and set
it un-overridable.
</p>
        <p>
Here is how to check the trust level:
</p>
        <p>
Create an aspx page and place a Label:
</p>
        <font size="2">
          <p>
&lt;%
</p>
        </font>
        <font color="#0000ff" size="2">@</font>
        <font size="2">
        </font>
        <font color="#a31515" size="2">Page</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">Language</font>
        <font color="#0000ff" size="2">="C#"</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">AutoEventWireup</font>
        <font color="#0000ff" size="2">="true"</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">CodeFile</font>
        <font color="#0000ff" size="2">="CheckTrustLevel.aspx.cs"</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">Inherits</font>
        <font color="#0000ff" size="2">="CheckTrustLevel"</font>
        <font size="2"> %&gt;
</font>
        <font color="#0000ff" size="2">
          <p>
&lt;!
</p>
        </font>
        <font color="#a31515" size="2">DOCTYPE</font>
        <font color="#000000" size="2">
        </font>
        <font color="#ff0000" size="2">html</font>
        <font color="#000000" size="2">
        </font>
        <font color="#ff0000" size="2">PUBLIC</font>
        <font color="#000000" size="2">
        </font>
        <font color="#0000ff" size="2">"-//W3C//DTD
XHTML 1.0 Transitional//EN"</font>
        <font color="#000000" size="2">
        </font>
        <font color="#0000ff" size="2">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<p>
&lt;
</p></font>
        <font color="#a31515" size="2">html</font>
        <font color="#000000" size="2">
        </font>
        <font color="#ff0000" size="2">xmlns</font>
        <font color="#0000ff" size="2">="http://www.w3.org/1999/xhtml"</font>
        <font color="#000000" size="2">
        </font>
        <font color="#0000ff" size="2">&gt;
<p>
&lt;
</p></font>
        <font color="#a31515" size="2">head</font>
        <font color="#000000" size="2">
        </font>
        <font color="#ff0000" size="2">runat</font>
        <font color="#0000ff" size="2">="server"&gt;
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">&lt;</font>
        <font color="#a31515" size="2">title</font>
        <font color="#0000ff" size="2">&gt;</font>
        <font size="2">Untitled
Page</font>
        <font color="#0000ff" size="2">&lt;/</font>
        <font color="#a31515" size="2">title</font>
        <font color="#0000ff" size="2">&gt;
<p>
&lt;/
</p></font>
        <font color="#a31515" size="2">head</font>
        <font color="#0000ff" size="2">&gt;
<p>
&lt;
</p></font>
        <font color="#a31515" size="2">body</font>
        <font color="#0000ff" size="2">&gt;
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">&lt;</font>
        <font color="#a31515" size="2">form</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">id</font>
        <font color="#0000ff" size="2">="form1"</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">runat</font>
        <font color="#0000ff" size="2">="server"&gt;
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">&lt;</font>
        <font color="#a31515" size="2">div</font>
        <font color="#0000ff" size="2">&gt;
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">&lt;</font>
        <font color="#a31515" size="2">asp</font>
        <font color="#0000ff" size="2">:</font>
        <font color="#a31515" size="2">Label</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">ID</font>
        <font color="#0000ff" size="2">="Label1"</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">runat</font>
        <font color="#0000ff" size="2">="server"</font>
        <font size="2">
        </font>
        <font color="#ff0000" size="2">Text</font>
        <font color="#0000ff" size="2">="Label"&gt;&lt;/</font>
        <font color="#a31515" size="2">asp</font>
        <font color="#0000ff" size="2">:</font>
        <font color="#a31515" size="2">Label</font>
        <font color="#0000ff" size="2">&gt;
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">&lt;/</font>
        <font color="#a31515" size="2">div</font>
        <font color="#0000ff" size="2">&gt;
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">&lt;/</font>
        <font color="#a31515" size="2">form</font>
        <font color="#0000ff" size="2">&gt;
<p>
&lt;/
</p></font>
        <font color="#a31515" size="2">body</font>
        <font color="#0000ff" size="2">&gt;
<p>
&lt;/
</p></font>
        <font color="#a31515" size="2">html</font>
        <font color="#0000ff" size="2">&gt;</font>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
In code behind... 
</p>
        <p>
 
</p>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Data;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Configuration;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Collections;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Web;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Web.Security;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Web.UI;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Web.UI.WebControls;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Web.UI.WebControls.WebParts;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
using
</p>
        </font>
        <font size="2">
          <font color="#000000"> System.Web.UI.HtmlControls;</font>
        </font>
        <font color="#0000ff" size="2">
          <p>
public
</p>
        </font>
        <font color="#000000" size="2">
        </font>
        <font color="#0000ff" size="2">partial</font>
        <font color="#000000" size="2">
        </font>
        <font color="#0000ff" size="2">class</font>
        <font color="#000000" size="2">
        </font>
        <font color="#2b91af" size="2">CheckTrustLevel</font>
        <font color="#000000" size="2"> :
System.Web.UI.</font>
        <font color="#2b91af" size="2">Page
</font>
        <font size="2">
          <p>
{
</p>
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">protected</font>
        <font size="2">
        </font>
        <font color="#0000ff" size="2">void</font>
        <font size="2"> Page_Load(</font>
        <font color="#0000ff" size="2">object</font>
        <font size="2"> sender, </font>
        <font color="#2b91af" size="2">EventArgs</font>
        <font size="2"> e)
<p>
{
</p><p>
Label1.Text = GetCurrentTrustLevel().ToString();
</p><p>
}
</p><p></p></font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2"> GetCurrentTrustLevel()
<p>
{
</p><p></p></font>
        <font color="#0000ff" size="2">foreach</font>
        <font size="2"> (</font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2"> trustLevel </font>
        <font color="#0000ff" size="2">in
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">new</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2">[]
{
<p></p></font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2">.Unrestricted,
<p></p></font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2">.High,
<p></p></font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2">.Medium,
<p></p></font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2">.Low,
<p></p></font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2">.Minimal 
<p>
})
</p><p>
{
</p><p></p></font>
        <font color="#0000ff" size="2">try
</font>
        <font size="2">
          <p>
{
</p>
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">new</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">AspNetHostingPermission</font>
        <font size="2">(trustLevel).Demand();
<p>
}
</p><p></p></font>
        <font color="#0000ff" size="2">catch</font>
        <font size="2"> (System.Security.</font>
        <font color="#2b91af" size="2">SecurityException</font>
        <font size="2">)
<p>
{
</p><p></p></font>
        <font color="#0000ff" size="2">continue</font>
        <font size="2">;
<p>
}
</p><p></p></font>
        <font color="#0000ff" size="2">return</font>
        <font size="2"> trustLevel;
<p>
}
</p><p></p></font>
        <font color="#0000ff" size="2">return</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">AspNetHostingPermissionLevel</font>
        <font size="2">.None;
<p>
}
</p><p>
}
</p></font>
        <p>
 
</p>
        <p>
 
</p>
        <p>
Run the page and it will tell you what trust level your application has.
</p>
        <img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=47b54953-eac8-47af-a7b3-dc21b4605753" />
      </body>
      <title>Finding the current trust level in ASP.NET </title>
      <guid isPermaLink="false">http://blog.delmonbay.com/PermaLink,guid,47b54953-eac8-47af-a7b3-dc21b4605753.aspx</guid>
      <link>http://blog.delmonbay.com/2007/12/22/FindingTheCurrentTrustLevelInASPNET.aspx</link>
      <pubDate>Sat, 22 Dec 2007 04:07:36 GMT</pubDate>
      <description>&lt;p&gt;
I found a great post on&amp;nbsp;&lt;a href="http://blogs.msdn.com/dmitryr/archive/2007/01/23/finding-out-the-current-trust-level-in-asp-net.aspx"&gt;dmitryr's
blog&lt;/a&gt;&amp;nbsp;on how to find the current trust level for your ASP.NET application,
it is practical if you are hosting your site on a hosting company as the hosting company
can set the trust level for your application in their machine.config file, and set
it un-overridable.
&lt;/p&gt;
&lt;p&gt;
Here is how to check the trust level:
&lt;/p&gt;
&lt;p&gt;
Create an aspx page and place a Label:
&lt;/p&gt;
&lt;font size=2&gt; 
&lt;p&gt;
&amp;lt;%
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;@&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#a31515 size=2&gt;Page&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;Language&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="C#"&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;AutoEventWireup&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="true"&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;CodeFile&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="CheckTrustLevel.aspx.cs"&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;Inherits&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="CheckTrustLevel"&lt;/font&gt;&lt;font size=2&gt; %&amp;gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
&amp;lt;!
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;DOCTYPE&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;html&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;PUBLIC&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;"-//W3C//DTD
XHTML 1.0 Transitional//EN"&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&gt;
&lt;p&gt;
&amp;lt;
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;html&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;xmlns&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="http://www.w3.org/1999/xhtml"&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;p&gt;
&amp;lt;
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;head&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;runat&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="server"&amp;gt;&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a31515 size=2&gt;title&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&lt;/font&gt;&lt;font size=2&gt;Untitled
Page&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;lt;/&lt;/font&gt;&lt;font color=#a31515 size=2&gt;title&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;p&gt;
&amp;lt;/
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;head&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;p&gt;
&amp;lt;
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;body&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a31515 size=2&gt;form&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;id&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="form1"&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;runat&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="server"&amp;gt;&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a31515 size=2&gt;div&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;lt;&lt;/font&gt;&lt;font color=#a31515 size=2&gt;asp&lt;/font&gt;&lt;font color=#0000ff size=2&gt;:&lt;/font&gt;&lt;font color=#a31515 size=2&gt;Label&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;ID&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="Label1"&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;runat&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="server"&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#ff0000 size=2&gt;Text&lt;/font&gt;&lt;font color=#0000ff size=2&gt;="Label"&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color=#a31515 size=2&gt;asp&lt;/font&gt;&lt;font color=#0000ff size=2&gt;:&lt;/font&gt;&lt;font color=#a31515 size=2&gt;Label&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;lt;/&lt;/font&gt;&lt;font color=#a31515 size=2&gt;div&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;lt;/&lt;/font&gt;&lt;font color=#a31515 size=2&gt;form&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;p&gt;
&amp;lt;/
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;body&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&gt;
&lt;p&gt;
&amp;lt;/
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;html&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&amp;gt;&lt;/font&gt;&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
In code behind... 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Data;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Configuration;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Collections;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Web;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Web.Security;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Web.UI;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Web.UI.WebControls;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Web.UI.WebControls.WebParts;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
using
&lt;/font&gt;&lt;font size=2&gt;&lt;font color=#000000&gt; System.Web.UI.HtmlControls;&lt;/font&gt;&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt; 
&lt;p&gt;
public
&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;partial&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;class&lt;/font&gt;&lt;font color=#000000 size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;CheckTrustLevel&lt;/font&gt;&lt;font color=#000000 size=2&gt; :
System.Web.UI.&lt;/font&gt;&lt;font color=#2b91af size=2&gt;Page&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;protected&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;void&lt;/font&gt;&lt;font size=2&gt; Page_Load(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;EventArgs&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
Label1.Text = GetCurrentTrustLevel().ToString();
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt; GetCurrentTrustLevel()&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;foreach&lt;/font&gt;&lt;font size=2&gt; (&lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt; trustLevel &lt;/font&gt;&lt;font color=#0000ff size=2&gt;in&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt;[]
{&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt;.Unrestricted,&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt;.High,&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt;.Medium,&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt;.Low,&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt;.Minimal &gt;
&lt;p&gt;
})
&lt;/p&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;try&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermission&lt;/font&gt;&lt;font size=2&gt;(trustLevel).Demand();&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;catch&lt;/font&gt;&lt;font size=2&gt; (System.Security.&lt;/font&gt;&lt;font color=#2b91af size=2&gt;SecurityException&lt;/font&gt;&lt;font size=2&gt;)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;continue&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;return&lt;/font&gt;&lt;font size=2&gt; trustLevel;&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;return&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;AspNetHostingPermissionLevel&lt;/font&gt;&lt;font size=2&gt;.None;&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;/font&gt; 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Run the page and it will tell you what trust level your application has.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=47b54953-eac8-47af-a7b3-dc21b4605753" /&gt;</description>
      <comments>http://blog.delmonbay.com/CommentView,guid,47b54953-eac8-47af-a7b3-dc21b4605753.aspx</comments>
      <category>ASP.NET</category>
      <category>C#</category>
    </item>
    <item>
      <trackback:ping>http://blog.delmonbay.com/Trackback.aspx?guid=c542d35f-569d-4b81-8942-64792fbed26d</trackback:ping>
      <pingback:server>http://blog.delmonbay.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.delmonbay.com/PermaLink,guid,c542d35f-569d-4b81-8942-64792fbed26d.aspx</pingback:target>
      <dc:creator>Ghazi Sarhan</dc:creator>
      <wfw:comment>http://blog.delmonbay.com/CommentView,guid,c542d35f-569d-4b81-8942-64792fbed26d.aspx</wfw:comment>
      <wfw:commentRss>http://blog.delmonbay.com/SyndicationService.asmx/GetEntryCommentsRss?guid=c542d35f-569d-4b81-8942-64792fbed26d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I use a website provided by the mobile phone company to send SMS messages, and charge
it to my mobile phone, good to send bulk messages to friends and family.
</p>
        <p>
I thought about using an automated method to send SMS to make it easier, I asked
the mobile phone company if they provide something like a WebAPI or SMPP, but they
don't.
</p>
        <p>
So... I thought about using their form, and here come the greate HttpWebRequest
and HttpWebResponse.
</p>
        <p>
 
</p>
        <p>
First I opened the login page... opened the page source, search for all form fields,
login id, password and hidden fields.
</p>
        <p>
Then I opened the Send SMS page... and did the same.
</p>
        <p>
Now writing a test page:
</p>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">protected</font>
        <font size="2">
        </font>
        <font color="#0000ff" size="2">void</font>
        <font size="2"> Page_Load(</font>
        <font color="#0000ff" size="2">object</font>
        <font size="2"> sender, </font>
        <font color="#2b91af" size="2">EventArgs</font>
        <font size="2"> e)
<p>
{
</p><p></p></font>
        <font color="#008000" size="2">// Login Page
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#2b91af" size="2">Uri</font>
        <font size="2"> uri = </font>
        <font color="#0000ff" size="2">new</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">Uri</font>
        <font size="2">(</font>
        <font color="#a31515" size="2">"http://WebSite/index.php"</font>
        <font size="2">);
<p></p></font>
        <font color="#008000" size="2">// Login Form Fields
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="2">string</font>
        <font size="2"> data = </font>
        <font color="#a31515" size="2">"mo=login"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;passwd=password"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;login=1"</font>
        <font size="2">;
<p></p></font>
        <font color="#008000" size="2">// Create a new instance of the CookieContainer
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#2b91af" size="2">CookieContainer</font>
        <font size="2"> cookieContainer
= </font>
        <font color="#0000ff" size="2">new</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">CookieContainer</font>
        <font size="2">();
<p></p></font>
        <font color="#0000ff" size="2">if</font>
        <font size="2"> (uri.Scheme == </font>
        <font color="#2b91af" size="2">Uri</font>
        <font size="2">.UriSchemeHttp)
<p>
{
</p><p></p></font>
        <font color="#008000" size="2">// Create an instance of HttpWebRequest
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#2b91af" size="2">HttpWebRequest</font>
        <font size="2"> request
= </font>
        <font color="#2b91af" size="2">HttpWebRequest</font>
        <font size="2">.Create(uri) </font>
        <font color="#0000ff" size="2">as</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">HttpWebRequest</font>
        <font size="2">;
<p></p></font>
        <font color="#008000" size="2">// Preserve Cookies that have login information
</font>
        <font size="2">
          <p>
request.CookieContainer = cookieContainer;
</p>
          <p>
          </p>
        </font>
        <font color="#008000" size="2">// Method = Post
</font>
        <font size="2">
          <p>
request.Method = 
</p>
        </font>
        <font color="#2b91af" size="2">WebRequestMethods</font>
        <font size="2">.</font>
        <font color="#2b91af" size="2">Http</font>
        <font size="2">.Post;
<p></p></font>
        <font color="#008000" size="2">// Data Length &amp; Content Type
</font>
        <font size="2">
          <p>
request.ContentLength = data.Length;
</p>
          <p>
request.ContentType = 
</p>
        </font>
        <font color="#a31515" size="2">"application/x-www-form-urlencoded"</font>
        <font size="2">;
<p></p></font>
        <font color="#008000" size="2">// Write Data to stream, this will send
data to the website but will not fill the CookieContainer
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#2b91af" size="2">StreamWriter</font>
        <font size="2"> writer
= </font>
        <font color="#0000ff" size="2">new</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">StreamWriter</font>
        <font size="2">(request.GetRequestStream());
<p>
writer.Write(data);
</p><p>
writer.Close();
</p><p></p></font>
        <font color="#008000" size="2">// Get Response from website to fill the
CookieContainer
</font>
        <font size="2">
          <p>
request.GetResponse();
</p>
          <p>
}
</p>
          <p>
 
</p>
          <p>
 
</p>
          <p>
          </p>
        </font>
        <font color="#008000" size="2">// Do the same here, and submitting the
preserved cookies
</font>
        <font size="2">
          <p>
uri = 
</p>
        </font>
        <font color="#0000ff" size="2">new</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">Uri</font>
        <font size="2">(</font>
        <font color="#a31515" size="2">"http://WebSite/myo/schedulemsg.php"</font>
        <font size="2">);
<p>
data = 
</p></font>
        <font color="#a31515" size="2">"srcMSISDN="</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;CustomerId="</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;strRawText1="</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;pagename=batsms2.php"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;smsmode=web2sms"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;dstMSISDN="</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;requestType=WEB2SMS"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;source=WEB"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;message=Messsgae to send"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;characters=1"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;coding=0"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;when=now"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;schdate="</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;hh=00"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;mm=00"</font>
        <font size="2">;
<p>
data += 
</p></font>
        <font color="#a31515" size="2">"&amp;send=Send"</font>
        <font size="2">;
<p></p></font>
        <font color="#0000ff" size="2">if</font>
        <font size="2"> (uri.Scheme == </font>
        <font color="#2b91af" size="2">Uri</font>
        <font size="2">.UriSchemeHttp)
<p>
{
</p><p></p></font>
        <font color="#2b91af" size="2">HttpWebRequest</font>
        <font size="2"> request
= </font>
        <font color="#2b91af" size="2">HttpWebRequest</font>
        <font size="2">.Create(uri) </font>
        <font color="#0000ff" size="2">as</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">HttpWebRequest</font>
        <font size="2">;
<p></p></font>
        <font color="#008000" size="2">// Submit preserved cookies
</font>
        <font size="2">
          <p>
request.CookieContainer = cookieContainer;
</p>
          <p>
request.Method = 
</p>
        </font>
        <font color="#2b91af" size="2">WebRequestMethods</font>
        <font size="2">.</font>
        <font color="#2b91af" size="2">Http</font>
        <font size="2">.Post;
<p>
request.ContentLength = data.Length;
</p><p>
request.ContentType = 
</p></font>
        <font color="#a31515" size="2">"application/x-www-form-urlencoded"</font>
        <font size="2">;
<p></p></font>
        <font color="#2b91af" size="2">StreamWriter</font>
        <font size="2"> writer
= </font>
        <font color="#0000ff" size="2">new</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">StreamWriter</font>
        <font size="2">(request.GetRequestStream());
<p>
writer.Write(data);
</p><p>
writer.Close();
</p><p></p></font>
        <font color="#008000" size="2">// Create an instance of the response to
check if the message was sent
</font>
        <font size="2">
          <p>
          </p>
        </font>
        <font color="#2b91af" size="2">HttpWebResponse</font>
        <font size="2"> response
= request.GetResponse() </font>
        <font color="#0000ff" size="2">as</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">HttpWebResponse</font>
        <font size="2">; 
<p></p></font>
        <font color="#2b91af" size="2">StreamReader</font>
        <font size="2"> reader
= </font>
        <font color="#0000ff" size="2">new</font>
        <font size="2">
        </font>
        <font color="#2b91af" size="2">StreamReader</font>
        <font size="2">(response.GetResponseStream());
<p></p></font>
        <font color="#0000ff" size="2">string</font>
        <font size="2"> tmp = reader.ReadToEnd();
<p>
response.Close();
</p><p></p></font>
        <font color="#0000ff" size="2">if</font>
        <font size="2"> (tmp.IndexOf(</font>
        <font color="#a31515" size="2">"Message
was sent successfully !."</font>
        <font size="2">) &gt; 0)
<p>
Label1.Text = 
</p></font>
        <font color="#a31515" size="2">"Message was sent successfully !."</font>
        <font size="2">;
<p></p></font>
        <font color="#0000ff" size="2">else
</font>
        <font size="2">
          <p>
{
</p>
          <p>
Label1.Text = 
</p>
        </font>
        <font color="#a31515" size="2">"Confirmation Message was not received."</font>
        <font size="2">;
<p>
}
</p><p>
}
</p><p>
}
</p><p>
 
</p></font>
        <p>
It is working :D as expected.
</p>
        <img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=c542d35f-569d-4b81-8942-64792fbed26d" />
      </body>
      <title>Using HttpWebRequest with Cookies for Form Authentication</title>
      <guid isPermaLink="false">http://blog.delmonbay.com/PermaLink,guid,c542d35f-569d-4b81-8942-64792fbed26d.aspx</guid>
      <link>http://blog.delmonbay.com/2007/12/20/UsingHttpWebRequestWithCookiesForFormAuthentication.aspx</link>
      <pubDate>Thu, 20 Dec 2007 15:24:22 GMT</pubDate>
      <description>&lt;p&gt;
I use a website provided by the mobile phone company to send SMS messages, and charge
it to my mobile phone, good to send bulk messages to friends and family.
&lt;/p&gt;
&lt;p&gt;
I&amp;nbsp;thought about using an automated method to send SMS to make it easier, I asked
the mobile phone company if they provide something like a WebAPI or SMPP, but they
don't.
&lt;/p&gt;
&lt;p&gt;
So... I&amp;nbsp;thought about using their form, and here come the greate HttpWebRequest
and HttpWebResponse.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
First I opened the login page... opened the page source, search for all form fields,
login id, password and hidden fields.
&lt;/p&gt;
&lt;p&gt;
Then I opened the Send SMS page... and did the same.
&lt;/p&gt;
&lt;p&gt;
Now writing a test page:
&lt;/p&gt;
&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;protected&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;void&lt;/font&gt;&lt;font size=2&gt; Page_Load(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;EventArgs&lt;/font&gt;&lt;font size=2&gt; e)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Login Page&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt; uri = &lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"http://WebSite/index.php"&lt;/font&gt;&lt;font size=2&gt;);&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Login Form Fields&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;string&lt;/font&gt;&lt;font size=2&gt; data = &lt;/font&gt;&lt;font color=#a31515 size=2&gt;"mo=login"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;passwd=password"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;login=1"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Create a new instance of the CookieContainer&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;CookieContainer&lt;/font&gt;&lt;font size=2&gt; cookieContainer
= &lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;CookieContainer&lt;/font&gt;&lt;font size=2&gt;();&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;if&lt;/font&gt;&lt;font size=2&gt; (uri.Scheme == &lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt;.UriSchemeHttp)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Create an instance of HttpWebRequest&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;HttpWebRequest&lt;/font&gt;&lt;font size=2&gt; request = &lt;/font&gt;&lt;font color=#2b91af size=2&gt;HttpWebRequest&lt;/font&gt;&lt;font size=2&gt;.Create(uri) &lt;/font&gt;&lt;font color=#0000ff size=2&gt;as&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;HttpWebRequest&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Preserve Cookies that have login information&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
request.CookieContainer = cookieContainer;
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Method = Post&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
request.Method = 
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;WebRequestMethods&lt;/font&gt;&lt;font size=2&gt;.&lt;/font&gt;&lt;font color=#2b91af size=2&gt;Http&lt;/font&gt;&lt;font size=2&gt;.Post;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Data Length &amp;amp; Content Type&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
request.ContentLength = data.Length;
&lt;/p&gt;
&lt;p&gt;
request.ContentType = 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"application/x-www-form-urlencoded"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Write Data to stream, this will send data to
the website but will not fill the CookieContainer&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;StreamWriter&lt;/font&gt;&lt;font size=2&gt; writer = &lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;StreamWriter&lt;/font&gt;&lt;font size=2&gt;(request.GetRequestStream());&gt;
&lt;p&gt;
writer.Write(data);
&lt;/p&gt;
&lt;p&gt;
writer.Close();
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Get Response from website to fill the CookieContainer&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
request.GetResponse();
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Do the same here, and submitting the preserved
cookies&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
uri = 
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"http://WebSite/myo/schedulemsg.php"&lt;/font&gt;&lt;font size=2&gt;);&gt;
&lt;p&gt;
data = 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"srcMSISDN="&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;CustomerId="&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;strRawText1="&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;pagename=batsms2.php"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;smsmode=web2sms"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;dstMSISDN="&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;requestType=WEB2SMS"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;source=WEB"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;message=Messsgae to send"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;characters=1"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;coding=0"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;when=now"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;schdate="&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;hh=00"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;mm=00"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
data += 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"&amp;amp;send=Send"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;if&lt;/font&gt;&lt;font size=2&gt; (uri.Scheme == &lt;/font&gt;&lt;font color=#2b91af size=2&gt;Uri&lt;/font&gt;&lt;font size=2&gt;.UriSchemeHttp)&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;HttpWebRequest&lt;/font&gt;&lt;font size=2&gt; request = &lt;/font&gt;&lt;font color=#2b91af size=2&gt;HttpWebRequest&lt;/font&gt;&lt;font size=2&gt;.Create(uri) &lt;/font&gt;&lt;font color=#0000ff size=2&gt;as&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;HttpWebRequest&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Submit preserved cookies&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
request.CookieContainer = cookieContainer;
&lt;/p&gt;
&lt;p&gt;
request.Method = 
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;WebRequestMethods&lt;/font&gt;&lt;font size=2&gt;.&lt;/font&gt;&lt;font color=#2b91af size=2&gt;Http&lt;/font&gt;&lt;font size=2&gt;.Post;&gt;
&lt;p&gt;
request.ContentLength = data.Length;
&lt;/p&gt;
&lt;p&gt;
request.ContentType = 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"application/x-www-form-urlencoded"&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;StreamWriter&lt;/font&gt;&lt;font size=2&gt; writer = &lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;StreamWriter&lt;/font&gt;&lt;font size=2&gt;(request.GetRequestStream());&gt;
&lt;p&gt;
writer.Write(data);
&lt;/p&gt;
&lt;p&gt;
writer.Close();
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#008000 size=2&gt;// Create an instance of the response to check if
the message was sent&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;HttpWebResponse&lt;/font&gt;&lt;font size=2&gt; response = request.GetResponse() &lt;/font&gt;&lt;font color=#0000ff size=2&gt;as&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;HttpWebResponse&lt;/font&gt;&lt;font size=2&gt;; &gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;StreamReader&lt;/font&gt;&lt;font size=2&gt; reader = &lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#2b91af size=2&gt;StreamReader&lt;/font&gt;&lt;font size=2&gt;(response.GetResponseStream());&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;string&lt;/font&gt;&lt;font size=2&gt; tmp = reader.ReadToEnd();&gt;
&lt;p&gt;
response.Close();
&lt;/p&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;if&lt;/font&gt;&lt;font size=2&gt; (tmp.IndexOf(&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"Message
was sent successfully !."&lt;/font&gt;&lt;font size=2&gt;) &amp;gt; 0)&gt;
&lt;p&gt;
Label1.Text = 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"Message was sent successfully !."&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=2&gt;else&gt;
&lt;/font&gt;&lt;font size=2&gt; 
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
Label1.Text = 
&lt;/font&gt;&lt;font color=#a31515 size=2&gt;"Confirmation Message was not received."&lt;/font&gt;&lt;font size=2&gt;;&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/font&gt; 
&lt;p&gt;
It is working :D as expected.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=c542d35f-569d-4b81-8942-64792fbed26d" /&gt;</description>
      <comments>http://blog.delmonbay.com/CommentView,guid,c542d35f-569d-4b81-8942-64792fbed26d.aspx</comments>
      <category>ASP.NET</category>
      <category>C#</category>
    </item>
    <item>
      <trackback:ping>http://blog.delmonbay.com/Trackback.aspx?guid=cb993991-dc2a-453f-996d-64dd6e3fb324</trackback:ping>
      <pingback:server>http://blog.delmonbay.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.delmonbay.com/PermaLink,guid,cb993991-dc2a-453f-996d-64dd6e3fb324.aspx</pingback:target>
      <dc:creator>Ghazi Sarhan</dc:creator>
      <wfw:comment>http://blog.delmonbay.com/CommentView,guid,cb993991-dc2a-453f-996d-64dd6e3fb324.aspx</wfw:comment>
      <wfw:commentRss>http://blog.delmonbay.com/SyndicationService.asmx/GetEntryCommentsRss?guid=cb993991-dc2a-453f-996d-64dd6e3fb324</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Source: <a href="http://blah.winsmarts.com/2006/05/20/loadcontrol-a-usercontrol--and-pass-in-constructor-parameters.aspx">http://blah.winsmarts.com/2006/05/20/loadcontrol-a-usercontrol--and-pass-in-constructor-parameters.aspx</a><a href="http://geekswithblogs.net/shahed/archive/2006/03/23/73096.aspx"></a></p>
        <p>
 
</p>
        <p>
          <font face="Tahoma" size="2">The inability of LoadControl to accept Constructor Parameters
is a real pain in the donkey. This post tells you how to get around that hella annoying
issue.</font>
        </p>
        <p>
          <font face="Tahoma" size="2">The awesome thing about ServerControls in ASP.NET is
that you can instantiate them via a constructor, and hence offer a programming
model similar to windows forms user controls. Unfortunately, you can't apply the same
concept to UserControls because they are really mini pages within themselves. So you
are limited to calling something like - </font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>LoadControl("WebUserControl.ascx") ;</strong>
          </font>
        </p>
        <p>
          <font face="Tahoma" size="2">Wouldn't it be nice if you could instead do ...</font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>LoadControl("WebUserControl.ascx",constructorparameter1,
constructorparameter2, constructorparameter3 ...) ;</strong>
          </font>
        </p>
        <p>
          <font face="Tahoma" size="2">So say for instance, it would be nice if the following
code would work - </font>
        </p>
        <font size="2">
        </font>
        <p>
          <font face="Courier New">
            <strong>
              <font color="#008080" size="2">Control</font>
              <font size="2"> toAdd
= LoadControl(</font>
              <font color="#800000" size="2">"WebUserControl.ascx"</font>
              <font size="2">,</font>
              <font color="#800000" size="2">"Sahil
Malik"</font>
            </strong>
          </font>
          <font size="2">
            <font face="Courier New">
              <strong>,5) ;<br />
PlaceHolder1.Controls.Add(toAdd) ;</strong>
            </font>
          </font>
        </p>
        <p>
          <font face="Tahoma" size="1">Note: There is a new overload new in .NET 2.0 which takes
the signature LoadControl(Type,object[]), which is very similar to the above. But
it is frequently problematic in ASP.NET 2.0 to refer to a user control in a strongly
typed manner.</font>
        </p>
        <p>
          <font size="2">
            <font face="Tahoma">Well, here is how you'd make it work. </font>
          </font>
        </p>
        <p>
          <font size="2">
            <font face="Tahoma">1. First of all write the user control (Duhh!!).
My user control has a label on it called Label1, and it has the following code-behind.</font>
          </font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>public partial class WebUserControl : System.Web.UI.UserControl<br />
{<br />
    public WebUserControl()<br />
    {<br />
    }</strong>
          </font>
        </p>
        <p>
          <strong>
            <font face="Courier New" size="2">    public WebUserControl(string
labelText, int howManyTimes)<br />
    {<br />
        System.Text.StringBuilder sb = new System.Text.StringBuilder()
;<br />
        for (int i = 1; i &lt;= howManyTimes; i++)<br />
        {<br />
            sb.Append(labelText)
;<br />
            sb.Append("&lt;br&gt;")
;<br />
        }<br />
        Label1.Text = sb.ToString() ;<br />
    }<br />
}</font>
            <br />
          </strong>
        </p>
        <p>
          <font face="Tahoma" size="2">As you can see, I am simply appending the same text over
and over again. </font>
          <font face="Tahoma" size="2">
            <strong>Note</strong> that it
is important to explicitly create a default public constructor (i.e. one without parameters)
or you'd confuse the ASP.NET runtime. </font>
        </p>
        <p>
          <font face="Tahoma" size="2">2. Step #2 is to add the following private method to
your default.aspx, or add it as a protected method to the base class of all your pages,
or a static method that can somehow access your page object. In my case I kept things
simple and added a private method to my default.aspx.</font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>private UserControl LoadControl(string UserControlPath,
params object[] constructorParameters)<br />
{        
<br />
    List&lt;Type&gt; constParamTypes = new List&lt;Type&gt;() ;<br />
    foreach (object constParam in constructorParameters)<br />
    {<br />
        constParamTypes.Add(constParam.GetType())
;<br />
    }</strong>
          </font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>    UserControl ctl = Page.LoadControl(UserControlPath)
as UserControl;</strong>
          </font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>    <font color="#006400">//
Find the relevant constructor</font><br />
    ConstructorInfo constructor = ctl.GetType().BaseType.GetConstructor(constParamTypes.ToArray())
;</strong>
          </font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>    <font color="#006400">//And
then call the relevant constructor</font><br />
    if (constructor == null)<br />
    {<br />
        throw new MemberAccessException("The requested
constructor was not found on : " + ctl.GetType().BaseType.ToString()) ;<br />
    }<br />
    else<br />
    {<br />
        constructor.Invoke(ctl,constructorParameters)
;<br />
    }</strong>
          </font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>    <font color="#006400">//
Finally return the fully initialized UC</font><br />
    return ctl;<br />
}</strong>
          </font>
        </p>
        <p>
          <font face="Tahoma" size="2">3. And finally, add the following to the Page_Load (or
any other suitable place) of your default.aspx - </font>
        </p>
        <p>
          <font face="Courier New" size="2">
            <strong>protected void Page_Load(object sender,
EventArgs e)<br />
{<br />
    Control toAdd = LoadControl("WebUserControl.ascx","Sahil Malik",5)
;<br />
    PlaceHolder1.Controls.Add(toAdd) ;<br />
}</strong>
          </font>
        </p>
        <img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=cb993991-dc2a-453f-996d-64dd6e3fb324" />
      </body>
      <title>LoadControl with Parameters</title>
      <guid isPermaLink="false">http://blog.delmonbay.com/PermaLink,guid,cb993991-dc2a-453f-996d-64dd6e3fb324.aspx</guid>
      <link>http://blog.delmonbay.com/2007/12/19/LoadControlWithParameters.aspx</link>
      <pubDate>Wed, 19 Dec 2007 06:15:23 GMT</pubDate>
      <description>&lt;p&gt;
Source: &lt;a href="http://blah.winsmarts.com/2006/05/20/loadcontrol-a-usercontrol--and-pass-in-constructor-parameters.aspx"&gt;http://blah.winsmarts.com/2006/05/20/loadcontrol-a-usercontrol--and-pass-in-constructor-parameters.aspx&lt;/a&gt;&lt;a href="http://geekswithblogs.net/shahed/archive/2006/03/23/73096.aspx"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Tahoma size=2&gt;The inability of LoadControl to accept Constructor Parameters
is a real pain in the donkey. This post tells you how to get around that hella annoying
issue.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Tahoma size=2&gt;The awesome thing about ServerControls in ASP.NET is that
you can instantiate them via&amp;nbsp;a constructor, and hence offer a programming model
similar to windows forms user controls. Unfortunately, you can't apply the same concept
to UserControls because they are really mini pages within themselves. So you are limited
to calling something like - &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;LoadControl("WebUserControl.ascx") ;&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Tahoma size=2&gt;Wouldn't it be nice if you could instead do ...&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;LoadControl("WebUserControl.ascx",constructorparameter1,
constructorparameter2, constructorparameter3 ...) ;&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Tahoma size=2&gt;So say for instance, it would be nice if the following code
would work - &lt;/font&gt;
&lt;/p&gt;
&lt;font size=2&gt;&lt;/font&gt; 
&lt;p&gt;
&lt;font face="Courier New"&gt;&lt;strong&gt;&lt;font color=#008080 size=2&gt;Control&lt;/font&gt;&lt;font size=2&gt; toAdd
= LoadControl(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"WebUserControl.ascx"&lt;/font&gt;&lt;font size=2&gt;,&lt;/font&gt;&lt;font color=#800000 size=2&gt;"Sahil
Malik"&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;strong&gt;,5) ;&lt;br&gt;
PlaceHolder1.Controls.Add(toAdd) ;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Tahoma size=1&gt;Note: There is a new overload new in .NET 2.0 which takes
the signature LoadControl(Type,object[]), which is very similar to the above. But
it is frequently problematic in ASP.NET 2.0 to refer to a user control in a strongly
typed manner.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;&lt;font face=Tahoma&gt;Well, here is how you'd make it work. &lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;&lt;font face=Tahoma&gt;1. First of all write the user control (Duhh!!). My
user control has a label on it called Label1, and it has the following code-behind.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;public partial class WebUserControl : System.Web.UI.UserControl&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public WebUserControl()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public WebUserControl(string
labelText, int howManyTimes)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Text.StringBuilder sb = new System.Text.StringBuilder()
;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 1; i &amp;lt;= howManyTimes; i++)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sb.Append(labelText)
;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sb.Append("&amp;lt;br&amp;gt;")
;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Label1.Text = sb.ToString() ;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/font&gt;
&lt;br&gt;
&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Tahoma size=2&gt;As you can see, I am simply appending the same text over
and over again. &lt;/font&gt;&lt;font face=Tahoma size=2&gt;&lt;strong&gt;Note&lt;/strong&gt; that it is important
to explicitly create a default public constructor (i.e. one without parameters) or
you'd confuse the ASP.NET runtime. &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Tahoma size=2&gt;2. Step #2 is to add the following private method to your
default.aspx, or add it as a protected method to the base class of all your pages,
or a static method that can somehow access your page object. In my case I kept things
simple and added a private method to my default.aspx.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;private UserControl LoadControl(string UserControlPath,
params object[] constructorParameters)&lt;br&gt;
{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Type&amp;gt; constParamTypes = new List&amp;lt;Type&amp;gt;() ;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (object constParam in constructorParameters)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; constParamTypes.Add(constParam.GetType())
;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserControl ctl = Page.LoadControl(UserControlPath)
as UserControl;&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#006400&gt;//
Find the relevant constructor&lt;/font&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ConstructorInfo constructor = ctl.GetType().BaseType.GetConstructor(constParamTypes.ToArray())
;&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#006400&gt;//And
then call the relevant constructor&lt;/font&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (constructor == null)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new MemberAccessException("The requested
constructor was not found on : " + ctl.GetType().BaseType.ToString()) ;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; constructor.Invoke(ctl,constructorParameters)
;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#006400&gt;//
Finally return the fully initialized UC&lt;/font&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return ctl;&lt;br&gt;
}&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face=Tahoma size=2&gt;3. And finally, add the following to the Page_Load (or any
other suitable place) of your default.aspx - &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" size=2&gt;&lt;strong&gt;protected void Page_Load(object sender, EventArgs
e)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Control toAdd = LoadControl("WebUserControl.ascx","Sahil Malik",5)
;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; PlaceHolder1.Controls.Add(toAdd) ;&lt;br&gt;
}&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.delmonbay.com/aggbug.ashx?id=cb993991-dc2a-453f-996d-64dd6e3fb324" /&gt;</description>
      <comments>http://blog.delmonbay.com/CommentView,guid,cb993991-dc2a-453f-996d-64dd6e3fb324.aspx</comments>
      <category>ASP.NET</category>
      <category>C#</category>
    </item>
  </channel>
</rss>