<feed 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="http://www.w3.org/2005/Atom" xml:lang="en-US">
    <title>Narendra Tiwari</title>
    <link rel="self" type="application/xml" href="http://geekswithblogs.net/narent/Atom.aspx" />
    <subtitle type="html" />
    <id>http://geekswithblogs.net/narent/Default.aspx</id>
    <author>
        <name>Narendra Tiwari</name>
        <uri>http://geekswithblogs.net/narent/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 0.0.0.0">Subtext</generator>
    <updated>2012-06-29T09:47:04Z</updated>
    <entry>
        <title>How to remove Visual J# .NET from installation package (MSI)</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2012/06/29/150078.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2012/06/29/150078.aspx</id>
        <published>2012-06-29T09:44:0705:30:00</published>
        <updated>2012-06-29T09:47:04Z</updated>
        <content type="html">&lt;p&gt;&lt;font size="2" face="Verdana"&gt;While creating Web Setup, Visual J# .NET automatically included in the MSI package.&lt;br /&gt;When we install this MSI on a server machine which does not have Visual J# .NET installed, installer prompts a message to install Visual J# .NET.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Usually we dont need to install Visual J# .NET and it can be avoided to add into installer. To do this:-&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;- Open setUp project (.vdproj) file in a text editor.&lt;br /&gt;- Find below section for LauchCondition for Visual J# .NET and remove it.&lt;br /&gt;&lt;font color="#000080" size="1" face="Courier New"&gt;"LaunchCondition"&lt;br /&gt;        {&lt;br /&gt;            "{836E08B8-0285-4809-BA42-01DB6754A45D}:_237E8F40F1A4464FBD27D8992CFDD623"&lt;br /&gt;            {&lt;br /&gt;            "Name" = "8:Visual J# .NET"&lt;br /&gt;            "Condition" = "8:REQ_VJSLIB_VER_PRESENT = \"TRUE\""&lt;br /&gt;            "Message" = "8:[VSDVJSMSG]"&lt;br /&gt;            "InstallUrl" = "8:http://msdn.microsoft.com/vjsharp"&lt;br /&gt;            }&lt;br /&gt;            "{836E08B8-0285-4809-BA42-01DB6754A45D}:_DF1CA2119CD64D4B94CE993CF1624ACE"&lt;br /&gt;            {&lt;br /&gt;            "Name" = "8:IIS Condition"&lt;br /&gt;            "Condition" = "8:IISVERSION &amp;gt;= \"#4\""&lt;br /&gt;            "Message" = "8:[VSDIISMSG]"&lt;br /&gt;            "InstallUrl" = "8:"&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/font&gt;- Save .vdproj file and Build again to generate new MSI installer.&lt;br /&gt;- Install the MSI on a new machine again where J# does not exist, It should not prompt the same message to install J#.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/150078.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/150078.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/150078.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/150078.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Website Language Translator by Microsoft</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/07/23/141041.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/07/23/141041.aspx</id>
        <published>2010-07-23T11:13:4105:30:00</published>
        <updated>2010-07-28T10:19:19Z</updated>
        <content type="html">&lt;p&gt;&lt;a href="http://www.microsofttranslator.com/widget/"&gt;http://www.microsofttranslator.com/widget/&lt;/a&gt; tool from Microsoft allows you to convert the language of your content on the fly. It is very intutive, effective and can be used for various locale generation requirements.&lt;/p&gt;
&lt;p&gt;It emits the below given &amp;lt;div&amp;gt; with the javascript:-&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New"&gt;&lt;strong&gt;&lt;tt&gt;&lt;code&gt;&amp;lt;div id="MicrosoftTranslatorWidget" style="width: 200px; min-height: 83px; border-color: #3A5770; background-color: #78ADD0;"&amp;gt;&amp;lt;noscript&amp;gt;&amp;lt;a href="&lt;/code&gt;&lt;/tt&gt;&lt;/strong&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="font-family: Comic Sans MS"&gt;&lt;strong&gt;&lt;span style="font-family: Courier New"&gt;&lt;a href="http://www.microsofttranslator.com/bv.aspx?a=URL_TO_TRANSLATE&amp;quot;&amp;gt;Translate"&gt;&lt;tt&gt;http://www.microsofttranslator.com/bv.aspx?a=URL_TO_TRANSLATE"&amp;gt;Translate&lt;/tt&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Courier New"&gt;&lt;strong&gt;&lt;tt&gt; this page&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;Powered by &amp;lt;a href="&lt;/tt&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Comic Sans MS"&gt;&lt;strong&gt;&lt;span style="font-family: Courier New"&gt;&lt;a href="http://www.microsofttranslator.com&amp;quot;&amp;gt;microsoft/"&gt;&lt;tt&gt;http://www.microsofttranslator.com"&amp;gt;Microsoft&lt;/tt&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Courier New"&gt;&lt;strong&gt;&lt;tt&gt;® Translator&amp;lt;/a&amp;gt;&amp;lt;/noscript&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;script type="text/javascript"&amp;gt; /* &amp;lt;![CDATA[ */ setTimeout(function() { var s = document.createElement("script"); s.type = "text/javascript"; s.charset = "UTF-8"; s.src = ((location &amp;amp;&amp;amp; location.href &amp;amp;&amp;amp; location.href.indexOf('https') == 0) ? "&lt;/tt&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Comic Sans MS"&gt;&lt;strong&gt;&lt;span style="font-family: Courier New"&gt;&lt;a href="https://ssl.microsofttranslator.com/"&gt;&lt;tt&gt;https://ssl.microsofttranslator.com&lt;/tt&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Courier New"&gt;&lt;strong&gt;&lt;tt&gt;" : "&lt;/tt&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;strong&gt;&lt;span style="font-family: Comic Sans MS"&gt;&lt;span style="font-family: Times New Roman"&gt;&lt;span style="font-family: Comic Sans MS"&gt;&lt;span style="font-family: Courier New"&gt;&lt;code&gt;&lt;a href="http://www.microsofttranslator.com/"&gt;&lt;tt&gt;http://www.microsofttranslator.com&lt;/tt&gt;&lt;/a&gt;&lt;/code&gt;&lt;tt&gt;&lt;code&gt;" ) + "/ajax/v2/widget.aspx?mode=manual&amp;amp;from=en&amp;amp;layout=ts"; var p = document.getElementsByTagName('head')[0] || document.documentElement; p.insertBefore(s, p.firstChild); }, 0); /* ]]&amp;gt; */ &amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We just need to change the url of the site where we want to convert the content. It connects to &lt;a href="http://www.microsofttranslator.com/bv.aspx"&gt;http://www.microsofttranslator.com/bv.aspx&lt;/a&gt; and passes the site url as querystring and we see the quick Ajax based translation of the page.&lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/141041.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/141041.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/141041.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/141041.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Problem Installing Web Application Project VS 2005</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/07/23/141039.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/07/23/141039.aspx</id>
        <published>2010-07-23T11:08:5305:30:00</published>
        <updated>2010-07-23T11:08:53Z</updated>
        <content type="html">&lt;p&gt;I installed VS 2005 on my machine.. and later I installed a few Extentions for .Net framework 3.5 (LINQ, AJAX etc).&lt;/p&gt;
&lt;p&gt;Later I come up with a requirement to convert a website into WebApplicationn I did it earlier so I was sure It will be done by installing  &lt;a href="http://download.microsoft.com/download/8/0/8/8086c312-16b1-4e54-a4cc-80a6c171112e/VS80-KB915364-X86-ENU.exe"&gt;Web Application Project &lt;/a&gt; Addin by Microsoft. Unfortunately it did not work and I cound not found the reason. I tried many ways but no success infact I get VS 2005 updated by installing it again.&lt;/p&gt;
&lt;p&gt;I found the below resolution from &lt;br /&gt;
&lt;a href="http://blogs.msdn.com/b/astebner/archive/2007/02/11/uninstall-vs-2005-update-to-support-web-application-projects-before-installing-vs-2005-sp1.aspx"&gt;http://blogs.msdn.com/b/astebner/archive/2007/02/11/uninstall-vs-2005-update-to-support-web-application-projects-before-installing-vs-2005-sp1.aspx&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Click on the Start menu, choose Run, type appwiz.cpl and click OK&lt;/li&gt;
    &lt;li&gt;In the Add/Remove Programs control panel, locate and remove the item named &lt;strong&gt;Microsoft Visual Studio 2005 Web Application Projects&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Check the box named &lt;strong&gt;Show updates&lt;/strong&gt; at the top of the Add/Remove Programs control panel&lt;/li&gt;
    &lt;li&gt;Under Microsoft Visual Studio 2005, locate the update named &lt;strong&gt;Update for Microsoft Visual Studio 2005 (KB915364) &lt;/strong&gt;and choose to uninstall it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After uninstalling both of the above packages, you should no longer receive a blocking dialog related to the Web Application Project add-in when trying to install &lt;a href="http://download.microsoft.com/download/6/3/c/63c69e5d-74c9-48ea-b905-30ac3831f288/VS80sp1-KB926601-X86-ENU.exe"&gt;VS 2005 SP1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/141039.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/141039.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/141039.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/141039.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Code Coverage using PartCover in MSBuild</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/07/16/140953.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/07/16/140953.aspx</id>
        <published>2010-07-16T12:43:3505:30:00</published>
        <updated>2010-07-16T12:43:35Z</updated>
        <content type="html">&lt;p&gt;Unit test suites are often used as a quality tool during the development process to keep the codebase stable as it changes and expands. Tools such as NUnit, MSTest are often used to run and report on the test suites. However, when implementing unit testing in your build process, you have no way of knowing how much of your code the unit tests are actually testing. This is where code coverage comes in. You can run NUnit, MSTest within the Code Coverage tool and use the report to determine which code was not tested by that test suite.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ncover.com/trial"&gt;NCover &lt;/a&gt;is the prominent tool but its not free I fount &lt;a href="http://sourceforge.net/projects/partcover/"&gt;PartCover&lt;/a&gt; interesting moreover its free. &lt;br /&gt;
Partcover  provides 2 style sheets to view the xml report: based on Classes or based on assemblies. Apparently if we have a single Test assembly we should use Class wise report else assembly wise.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Steps to Integrate Partcover into cruisecontrol.net:&lt;/strong&gt;&lt;br /&gt;
&lt;a href="http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/Using%20CruiseControl.NET%20with%20PartCover.html"&gt;http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/Using%20CruiseControl.NET%20with%20PartCover.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Above example is based on Nant build tools, For MSBuild refer below given sample using Exec task:-&lt;/p&gt;
&lt;p&gt;  &amp;lt;Target Name="PartCover" &amp;gt;&lt;br /&gt;
    &amp;lt;Exec Command="$(CCNetServer)tools\PartCover.NET4.0\PartCover.exe --settings $(CCNetServer)$(ProjectName)\Factory\partcover\$(projectname).xml --output $(project_artifacts_path)PartCover-results.xml" &lt;br /&gt;
      ContinueOnError="true"&lt;br /&gt;
      WorkingDirectory="$(CCNetServer)tools\PartCover.NET4.0\"&lt;br /&gt;
    /&amp;gt;&lt;br /&gt;
  &amp;lt;/Target&amp;gt;&lt;/p&gt;
&lt;p&gt;Above target is an exerept from my build file where you can see few properties used. Below is the explaination for each property.&lt;/p&gt;
&lt;p&gt;1/ PartCover.exe: Command line executable for Partcover.&lt;br /&gt;
2/ --settings: argument is case sensitive in build script so use "settings" only. It requires setting.xml file:-&lt;/p&gt;
&lt;p&gt;&amp;lt;PartCoverSettings&amp;gt;&lt;br /&gt;
  &amp;lt;Target&amp;gt;C:\Program Files\NUnit-2.5.3.9345\bin\net-2.0\nunit-console.exe&amp;lt;/Target&amp;gt;&lt;br /&gt;
  &amp;lt;TargetWorkDir&amp;gt;C:\Program Files\CruiseControl.NET\server\MyProject\WorkingDirectory\MyProject\bin\Debug&amp;lt;/TargetWorkDir&amp;gt;&lt;br /&gt;
  &amp;lt;TargetArgs&amp;gt;MyAssembly.NUnitTest.dll&amp;lt;/TargetArgs&amp;gt;&lt;br /&gt;
  &amp;lt;Rule&amp;gt;+[MyAssembly1*]*&amp;lt;/Rule&amp;gt;&lt;br /&gt;
  &amp;lt;Rule&amp;gt;+[MyAssembly2*]*&amp;lt;/Rule&amp;gt;&lt;br /&gt;
  &amp;lt;Rule&amp;gt;-[MyAssembly.NUnitTest*]*&amp;lt;/Rule&amp;gt;&lt;br /&gt;
  &amp;lt;Rule&amp;gt;-[nunit*]*&amp;lt;/Rule&amp;gt;&lt;br /&gt;
  &amp;lt;Rule&amp;gt;-[log4net*]*&amp;lt;/Rule&amp;gt;&lt;br /&gt;
&amp;lt;/PartCoverSettings&amp;gt;&lt;/p&gt;
&lt;p&gt;Here + indicates the inclusion and - indecates the excution of a file * acta as wild card notation.&lt;/p&gt;
&lt;p&gt;Nunit is one important prerequisite to run  this tool. Below is the sample target.&lt;br /&gt;
&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;
 &amp;lt;TestAssembly Include="$(BuildDirectory)MySolution\MyProject\bin\$(Configuration)\MyAssembly.TestNUnit.dll" /&amp;gt;&lt;br /&gt;
&amp;lt;/ItemGroup&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;Target Name="NUnit" Condition="$(Configuration)==debug" &amp;gt;&lt;br /&gt;
 &amp;lt;NUnit &lt;br /&gt;
  ToolPath="$(CCNetServer)tools\NUnit-2.5.3.9345\bin\net-2.0"&lt;br /&gt;
  Assemblies="@(TestAssembly)" &lt;br /&gt;
  OutputXmlFile="$(project_artifacts_path)NUnit-results.xml" &lt;br /&gt;
  ContinueOnError="true"&lt;br /&gt;
  WorkingDirectory="$(CCNetServer)tools\NUnit-2.5.3.9345\bin\net-2.0"&lt;br /&gt;
 /&amp;gt;&lt;br /&gt;
&amp;lt;/Target&amp;gt;&lt;/p&gt;
&lt;p&gt;This will help you to integrate code coverage on your build tool.&lt;/p&gt;
&lt;p&gt;More tools and resources on Unit Testing&lt;br /&gt;
&lt;a href="http://www.testdriven.net/Default.aspx?tabid=27"&gt;http://www.testdriven.net/Default.aspx?tabid=27&lt;/a&gt;&lt;br /&gt;
 &lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/140953.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/140953.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/140953.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/140953.aspx</trackback:ping>
    </entry>
    <entry>
        <title>ASP.Net Web Setup/Package</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/06/30/140685.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/06/30/140685.aspx</id>
        <published>2010-06-30T10:11:2705:30:00</published>
        <updated>2010-06-30T10:12:53Z</updated>
        <content type="html">&lt;p&gt;While implementing Continuous Integration there was no such simple way to create ASP.Net web packages using MSBuild or NAnt. Below article is the workaround to create web setups using VS.Net development environment &lt;em&gt;devenv exe&lt;/em&gt;.&lt;br /&gt;
&lt;a href="http://blogs.msdn.com/b/aaronhallberg/archive/2007/07/12/team-build-devenv-task.aspx"&gt;Team Build DevEnv Task&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
VS 2010 introduced web packaging using MSBuild:&lt;br /&gt;
&lt;a href="http://vishaljoshi.blogspot.com/2009/02/web-packaging-creating-web-package.html"&gt;Web Package using VS 2010 &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.15seconds.com/Issue/030806.htm"&gt;Deploying ASP.NET Applications &lt;/a&gt;article explains the manual option available in VS.Net IDE to create setups.&lt;br /&gt;
&lt;br /&gt;
 &lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/140685.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/140685.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/140685.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/140685.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Running Teamsite User Admin tool IWUSERADM.exe from ASP.NET</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/05/27/140097.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/05/27/140097.aspx</id>
        <published>2010-05-27T10:33:1405:30:00</published>
        <updated>2010-05-27T12:43:39Z</updated>
        <content type="html">&lt;p&gt;It has really been a head scratching task for me. I 've tried many options but nothing worked. Finally I found a workaround on google to achive this by TaskScheduler.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PROBLEM&lt;/strong&gt;&lt;br /&gt;
When we run Teamsite user administration command line tool IWUSERADM.exe though ASP.Net it gives following error:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Application popup: cmd.exe - Application Error : The application failed to initialize properly (0xc0000142). Click on OK to terminate the application.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CAUSE&lt;/strong&gt;&lt;br /&gt;
No specific cause, it seems to be a bug, supposed to be resolved with this Microsoft patch &lt;a href="http://support.microsoft.com/kb/960266"&gt;http://support.microsoft.com/kb/960266&lt;/a&gt;, Moreover there is nothing related to permission issue my web application is impersonated with an administrator account. offcourse running a .bat file from admin account is a potential security threat but for this scenario lets conifne our discussion to run the command line tool only.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RESOLUTION&lt;/strong&gt; &lt;br /&gt;
I have not tried this patch as I have not permitted to run this patch on server. Below are the steps to achive the requirement.&lt;/p&gt;
&lt;p&gt;1/ Create a batch file which runs the IWUSERADM.exe. &lt;br /&gt;
       &lt;span style="font-family: Courier New"&gt;echo - Add Teamsite User&lt;br /&gt;
   CD E:\Appli\GN00\iw-home\bin&lt;br /&gt;
   iwuseradm add-user %1&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
2/ Temporarily create a schedule task and run  the .bat file by scheduled task by ASP.Net code using TaskScheduler &lt;a href="http://www.codeproject.com/KB/cs/tsnewlib.aspx"&gt;http://www.codeproject.com/KB/cs/tsnewlib.aspx&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
3/ Here is the function:&lt;br /&gt;
&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; AddTeamsiteUser(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strBatchFilePath, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strUser)&lt;br /&gt;
{&lt;br /&gt;
&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//Get a ScheduledTasks object for the local computer.&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;ScheduledTasks&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; st = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;ScheduledTasks&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;br /&gt;
&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// Create a task&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;Task&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; t;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;
&lt;font size="2"&gt;t = st.CreateTask(&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;"~AddTeamsiteUser");&lt;br /&gt;
}&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;br /&gt;
&lt;/font&gt;{&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;throw&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;"Schedule Task ~AddTeamsiteUser already exist."&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;br /&gt;
}&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font size="2"&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;t.ApplicationName = strBatchFilePath;&lt;br /&gt;
t.Parameters = strUser;&lt;br /&gt;
t.Comment = &lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;"Adding user to Teamsite Application"&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000000"&gt;t.SetAccountInformation(&lt;em&gt;yourLogin&lt;/em&gt;, &lt;em&gt;yourPassword&lt;/em&gt;);&lt;/span&gt; &lt;br /&gt;
&lt;font size="2"&gt;t.Save();&lt;br /&gt;
t.Run();&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;font color="#008080"&gt;Thread&lt;/font&gt;&lt;font size="2"&gt;.Sleep(2000); //for sync issue&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font color="#008000"&gt;//Remove the scheduled task&lt;br /&gt;
&lt;/font&gt;&lt;font size="2"&gt;st.DeleteTask(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;"~AddTeamsiteUser"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;  &lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; t.ExitCode;&lt;br /&gt;
}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Calling function&lt;br /&gt;
&lt;/em&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//Add User in Teamsite&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strBatFilePath = &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;ConfigurationManager&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.AppSettings[&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;"batFilePath"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;];&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.AddTeamsiteUser(strBatFilePath, domainName\UserName&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Below are few resources related to the above scenario:-&lt;br /&gt;
- Task Scheduler Class Library for .NET&lt;br /&gt;
 &lt;a href="http://www.codeproject.com/KB/cs/tsnewlib.aspx"&gt;http://www.codeproject.com/KB/cs/tsnewlib.aspx&lt;/a&gt;&lt;br /&gt;
- Run a .BAT file from ASP.NET &lt;br /&gt;
 &lt;a href="http://codebetter.com/blogs/brendan.tompkins/archive/2004/05/13/13484.aspx"&gt;http://codebetter.com/blogs/brendan.tompkins/archive/2004/05/13/13484.aspx&lt;/a&gt;&lt;br /&gt;
- TaskScheduler Class&lt;br /&gt;
 &lt;a href="http://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler.aspx&lt;/a&gt;&lt;br /&gt;
- Application Hangs whle running iwuseradm.exe through ASP.Net&lt;br /&gt;
 &lt;a href="http://bytes.com/topic/asp-net/answers/733098-system-diagnostics-process-hangs"&gt;http://bytes.com/topic/asp-net/answers/733098-system-diagnostics-process-hangs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/140097.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/140097.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/140097.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/140097.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Passing text message to web page from web user control</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/04/28/139553.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/04/28/139553.aspx</id>
        <published>2010-04-28T12:39:1405:30:00</published>
        <updated>2010-04-28T12:54:44Z</updated>
        <content type="html">&lt;p&gt;Here is a brief summary how we can send a text message to webpage by a web user control.&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/aa288459(VS.71).aspx"&gt;Delegates&lt;/a&gt; is the slolution. There are many good articles on .net delegates you can refer some of them below.&lt;/p&gt;
&lt;p&gt;The scenario is we want to send a text message to the page on completion of some activity on webcontrol.&lt;/p&gt;
&lt;p&gt;1/ Create a Base class for webcontrol (refer code below), assuming we are passing some text messages to page from web user control, and later inherit your web user control by this class.&lt;br /&gt;
 - Declare a delegate&lt;br /&gt;
 - Declare an event of type delegate&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;using &lt;/font&gt;System;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Data;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Configuration;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Web;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Web.Security;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Web.UI;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Web.UI.WebControls;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Web.UI.WebControls.WebParts;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Web.UI.HtmlControls;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;//Declaring delegate with message parameter&lt;br /&gt;
&lt;font color="#0000ff" size="2"&gt;public&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;delegate&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;SendMessageToThePageHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; messageToThePage);&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;public &lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt; &lt;font color="#008080" size="2"&gt;ControlBase&lt;/font&gt;: System.Web.UI.&lt;font color="#008080" size="2"&gt;UserControl&lt;br /&gt;
&lt;/font&gt;{&lt;br /&gt;
&lt;font color="#0000ff" size="2"&gt;public &lt;/font&gt;ControlBase()&lt;br /&gt;
{&lt;br /&gt;
&lt;font color="#008000" size="2"&gt;// TODO: Add constructor logic here&lt;br /&gt;
&lt;/font&gt;}&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;protected&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; OnInit(&lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;EventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e)&lt;br /&gt;
{&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; base&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.OnInit(e);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strMessageToPass;&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; MessageToPass - Property to pass text message to page&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; MessageToPass&lt;br /&gt;
{&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strMessageToPass; }&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;set&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; { strMessageToPass = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;value&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; SendMessageToPage - Called from control to invoke the event&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;param name="strMessage"&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;Message to pass&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SendMessageToPage(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strMessage)&lt;br /&gt;
{&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;  if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.sendMessageToThePage != &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;      this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.sendMessageToThePage(strMessage);&lt;br /&gt;
}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; Now Inherit as many web user control with this base class&lt;br /&gt;
   -  &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;partial&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;Controls_WebUserControl1&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; : &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;ControlBase&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;br /&gt;
  -  &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;partial&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;Controls_WebUserControl2&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; : &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;ControlBase&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt; 2/ Register events on webpage on page Load event&lt;br /&gt;
     - &lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.AddControlEventHandler((&lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;ControlBase&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)WebUserControl1);&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;     - this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.AddControlEventHandler((&lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;ControlBase&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)WebUserControl2);&lt;br /&gt;
&lt;/font&gt;&lt;br /&gt;
&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; AddControlEventHandler- Hooking web user control event&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;param name="ctrl"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; AddControlEventHandler(&lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;ControlBase&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ctrl)&lt;br /&gt;
{&lt;br /&gt;
 ctrl.sendMessageToThePage += &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;delegate&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strMessage)&lt;br /&gt;
{&lt;br /&gt;
  &lt;font color="#008000"&gt;//Display message&lt;/font&gt;&lt;br /&gt;
  lblMessage.Text = strMessage;&lt;br /&gt;
}; &lt;br /&gt;
}&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;3/ Now Call the method &lt;font size="2"&gt;SendMessageToPage(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strMessage) from web user control with the text message as parameter and this message will be displayed on your webpage (on lblMessage)&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;em&gt;References:&lt;/em&gt;&lt;br /&gt;
&lt;a href="http://www.akadia.com/services/dotnet_delegates_and_events.html"&gt;http://www.akadia.com/services/dotnet_delegates_and_events.html&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/139553.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/139553.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/139553.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/139553.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Browser History ASP.Net AJAX: Microsoft.Web.Preview</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/04/23/139468.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/04/23/139468.aspx</id>
        <published>2010-04-23T11:47:1305:30:00</published>
        <updated>2010-04-23T12:12:59Z</updated>
        <content type="html">&lt;p&gt;I remember in 2006 we were working on a portal for our client Venetian, Las Vegas and the portal is full of AJAX features. One of my friend facing a challange to retain browser history with all AJAX operation. In terms of user experience it is an important aspect which could not be avoided in that scenario. Well that time we have made some workarounds to achieve the same but that may not be the perfect solution.&lt;/p&gt;
&lt;p&gt;Ok.. Now with Microsoft AJAX there are a lot of such features can be achieved with optimum efficiency. Microsoft AJAX has grown its features over the past few years. Microsoft.Web.Preview.dll is an addon in conjunction with ASP.Net AJAX. It contains a control named "History" for that purpose.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Source code:-&lt;/strong&gt;&lt;br /&gt;
&lt;a href="http://download.microsoft.com/download/8/3/1/831ffcd7-c571-4075-b8fa-6ff678794f60/CS-ASP-ASPBrowserHistoryinAJAX_cs.zip"&gt;http://download.microsoft.com/download/8/3/1/831ffcd7-c571-4075-b8fa-6ff678794f60/CS-ASP-ASPBrowserHistoryinAJAX_cs.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Below is a small sample to demonstrate the control.&lt;br /&gt;
1/ Get dll from the above source code bin, and add reference to your web application.&lt;br /&gt;
2/ Rightclick on toolbox panel and Choose Item, browse assembly. now you will be able to see History control.&lt;br /&gt;
3/ Add below section group in web.config under &lt;em&gt;&amp;lt;configSections&amp;gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;sectionGroup&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;microsoft.web.preview&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Microsoft.Web.Preview.Configuration.PreviewSectionGroup, Microsoft.Web.Preview&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;section&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;search&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Microsoft.Web.Preview.Configuration.SearchSection, Microsoft.Web.Preview&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;requirePermission&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;allowDefinition&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;MachineToApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;br /&gt;
&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;section&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;searchSiteMap&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Microsoft.Web.Preview.Configuration.SearchSiteMapSection, Microsoft.Web.Preview&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;requirePermission&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;allowDefinition&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;MachineToApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;br /&gt;
&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;section&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;diagnostics&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Microsoft.Web.Preview.Configuration.DiagnosticsSection, Microsoft.Web.Preview&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;requirePermission&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;allowDefinition&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;MachineToApplication&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;br /&gt;
&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;sectionGroup&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;4/ Now create a simple webpage a textbox (txt1), button (btn1)  in an updatePanel with History control (History1). We will fill in text box and post the fom by clicking button a few times then verify if the browse history is retained. Remember button and textbox must be inside UpdatePanel and History control outside the UpdatePanel.&lt;br /&gt;
&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;%@&lt;/font&gt;&lt;font color="#800000" size="2"&gt;Page &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Language&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="C#"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;AutoEventWireup&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="true"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;CodeFile&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="History.aspx.cs"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Inherits&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="History"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; %&amp;gt;&lt;br /&gt;
&amp;lt;%&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;@&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;Register&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Assembly&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="Microsoft.Web.Preview"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Namespace&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="Microsoft.Web.Preview.UI.Controls" &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;TagPrefix&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="cc1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; %&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;!&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;DOCTYPE&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;html&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;PUBLIC&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;html&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;xmlns&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="http://www.w3.org/1999/xhtml"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;head&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="server"&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;title&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;Untitled Page&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;title&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;head&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;body&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;form&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;id&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="form1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="server"&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;ScriptManager&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="ScriptManager1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="server"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;EnablePartialRendering&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="true"&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;ScriptManager&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;div&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;cc1&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;History&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="History1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="server"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;OnNavigate&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="History1_Navigate"&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;cc1&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;History&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;UpdatePanel&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="up1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="server"&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;ContentTemplate&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;TextBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="txt1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="server"&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;TextBox&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;br&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;Button&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="btn1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="server"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Text&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="Test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;OnClick&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="btn1_Click"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;ContentTemplate&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;Triggers&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;AsyncPostBackTrigger&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ControlID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;="History1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;Triggers&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;UpdatePanel&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;div&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;form&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;body&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;html&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;
5/ Below code to add the textbox value in history everytime we post back using btn1 click. &lt;br /&gt;
&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;protected&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; btn1_Click(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sender, &lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;EventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e)&lt;br /&gt;
{&lt;br /&gt;
History1.AddHistoryPoint(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;"txtState"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;,txt1.Text);&lt;br /&gt;
}&lt;br /&gt;
&lt;/font&gt;&lt;br /&gt;
6/ and finally Navigate event of History control&lt;br /&gt;
&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;protected&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; History1_Navigate(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sender, Microsoft.Web.Preview.UI.Controls.&lt;/font&gt;&lt;font color="#008080" size="2"&gt;&lt;font color="#008080" size="2"&gt;HistoryEventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; args)&lt;br /&gt;
{&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; strState = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Empty;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (args.State.ContainsKey(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;"txtState"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;))&lt;br /&gt;
{&lt;br /&gt;
strState = (&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)args.State[&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&lt;font color="#800000" size="2"&gt;"txtState"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;];&lt;br /&gt;
}&lt;br /&gt;
txt1.Text = strState;&lt;br /&gt;
}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Now all set to go :)&lt;br /&gt;
&lt;br /&gt;
Reference:&lt;br /&gt;
&lt;a href="http://www.dotnetglobe.com/2008/08/using-asp.html"&gt;http://www.dotnetglobe.com/2008/08/using-asp.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.asp.net/learn/3.5-SP1/video-242.aspx"&gt;http://www.asp.net/learn/3.5-SP1/video-242.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/139468.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/139468.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/139468.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/139468.aspx</trackback:ping>
    </entry>
    <entry>
        <title>CHM Issue: The page can not be displayed</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/04/20/139374.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/04/20/139374.aspx</id>
        <published>2010-04-20T10:15:3105:30:00</published>
        <updated>2010-04-20T10:16:39Z</updated>
        <content type="html">&lt;p&gt;Some times when we access few CHM (compiled HTML) files over network share, CHM content doed not display and shows an error "The Page Can not be displayed".&lt;br /&gt;
This may be due to a Microsoft security update installed on your machine. Here is the resolution:-&lt;/p&gt;
&lt;p&gt;========================================================================&lt;br /&gt;
REGEDIT4&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]&lt;/p&gt;
&lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]&lt;br /&gt;
"MaxAllowedZone"=dword:00000001&lt;br /&gt;
"UrlAllowList"=""&lt;/p&gt;
&lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]&lt;br /&gt;
"MaxAllowedZone"=dword:00000001&lt;br /&gt;
"UrlAllowList"="" &lt;br /&gt;
========================================================================&lt;/p&gt;
&lt;p&gt;Put above content in a file and save as with .REG extension, then execute it from your machine.&lt;br /&gt;
Thats it.. you should be able to view your CHM files.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/892675"&gt;Reference&lt;/a&gt;&lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/139374.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/139374.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/139374.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/139374.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Hudson.. another Continuous Integration tool</title>
        <link rel="self" type="text/html" href="http://geekswithblogs.net/narent/archive/2010/03/28/138962.aspx" />
        <id>http://geekswithblogs.net/narent/archive/2010/03/28/138962.aspx</id>
        <published>2010-03-28T17:22:3405:30:00</published>
        <updated>2010-03-28T17:27:46Z</updated>
        <content type="html">&lt;p&gt;In my previous posts I discussed about &lt;a href="http://sourceforge.net/projects/ccnet/"&gt;Cruisecontrol.net &lt;/a&gt;and its legacy support to .Net development.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hudson.dev.java.net/"&gt;Hudson&lt;/a&gt;  is yet another continuous integration tool. Hudson is also free like CCNet and built in java.&lt;/p&gt;
&lt;p&gt;- CCNet has its legacy support to .Net applications where as Hudson can be easily configured on both the environments (.Net and Java).&lt;/p&gt;
&lt;p&gt;- One of the major differences in CCNet and Hudson is the richer GUI of Hudson provide user interactive screens for project configuration where as in CCNet we have to play with a few xml configuration files.&lt;/p&gt;
&lt;p&gt;Both the tools are capable of providing basic features of continuous integration e.g.:-&lt;/p&gt;
&lt;p&gt;- Source Control configuration&lt;br /&gt;
- Code Compilation/Build&lt;br /&gt;
- Ad hoc plugin tools to be configured along with compilation&lt;/p&gt;
&lt;p&gt;Support for adhoc tools seems to be bigger with CCNet e.g. There are almost every source control plugin available with CCNet where as Hudson has support for limited source control servers.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
Basically there is an interseting point to see is that there are 2 major partsof whole CI system one performed by build tool and rest. Build tool takes care of all adhoc plugin tools  so no matter if CI tool does not have plugin for that tool if thet tools provides command line support that can be configured in build tool and that build tool is then configured with CI tool inturn. For example if I have a build script configured in MSBuild and CCNet can be easily switched to Hudson. Here we need not to change anything in build script we just need to configure MSBuild on Hudson and pass the path of script file and thats it... all is same.&lt;/p&gt;
&lt;p&gt;Hudson Resources:-&lt;br /&gt;
- &lt;a href="https://hudson.dev.java.net/"&gt;https://hudson.dev.java.net/&lt;/a&gt;&lt;br /&gt;
- &lt;a href="http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson"&gt;http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson&lt;/a&gt;&lt;br /&gt;
- &lt;a href="http://wiki.hudson-ci.org/display/HUDSON/Plugins"&gt;http://wiki.hudson-ci.org/display/HUDSON/Plugins&lt;/a&gt;&lt;br /&gt;
- &lt;a href="http://callport.blogspot.com/2009/02/hudson-for-net-projects.html"&gt;http://callport.blogspot.com/2009/02/hudson-for-net-projects.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Java support on CCNet&lt;/strong&gt;&lt;br /&gt;
&lt;a href="http://confluence.public.thoughtworks.org/display/CC/Getting+Started+With+CruiseControl?focusedCommentId=19988484#comment-19988484"&gt;http://confluence.public.thoughtworks.org/display/CC/Getting+Started+With+CruiseControl?focusedCommentId=19988484#comment-19988484&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please share your thoughts...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
 &lt;/p&gt;&lt;img src="http://geekswithblogs.net/narent/aggbug/138962.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://geekswithblogs.net/narent/comments/138962.aspx</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://geekswithblogs.net/narent/comments/commentRss/138962.aspx</wfw:commentRss>
        <trackback:ping>http://geekswithblogs.net/narent/services/trackbacks/138962.aspx</trackback:ping>
    </entry>
</feed>