<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3589812793240917524</id><updated>2012-01-31T10:43:12.644+11:00</updated><category term='C#'/><category term='JQuery'/><category term='LINQ'/><category term='Transact-SQL'/><category term='Visual Studio'/><category term='ADO.NET 2.0'/><category term='Sharepoint MOSS 2007'/><category term='SQL Server 2008'/><category term='Test Driven Development'/><category term='WCF'/><category term='Javascript'/><category term='SQL Server 2005 - BI'/><category term='System Admin'/><category term='BizTalk'/><category term='XML'/><category term='Microsoft Dynamics'/><category term='VB.NET'/><category term='Miscellaneous'/><category term='IIS'/><category term='Design Patterns'/><category term='Ajax'/><category term='ASP.NET'/><category term='Kentico'/><category term='Database Design'/><title type='text'>Tech Notes</title><subtitle type='html'>Sam Fu</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default?start-index=101&amp;max-results=100'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>287</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-7840050266365967570</id><published>2011-01-13T10:32:00.015+11:00</published><updated>2011-01-13T11:54:00.862+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Driven Development'/><title type='text'>Inversion of Control</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;It breaks dependencies between classes and promote loose coupling.&lt;/li&gt;&lt;li&gt;IoC is about programming to interface, if A uses B, then you can create an interface I that B implements and then let A uses an instance of I.&lt;/li&gt;&lt;li&gt;Dependency Injection &amp;amp; Service Locator are two ways of implementing IoC.&lt;/li&gt;&lt;li&gt;Dependency Injection&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Constructor injection: Constructor Injection is the DI technique of passing an object's dependencies to its constructor.&lt;/li&gt;&lt;li&gt;Property injection&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;IoC is vital for doing Test Driven Development. To be able to unit test your ASP.NET application, we will need to loose couple the business logic layer and data access layer, a mock object can be used. A mock object simulates the responses of an actual object, acting as if it's using a real resource. They're great for mocking access to a database, mocking calls to IO, mocking calls to a web service, etc.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;References:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.codeproject.com/KB/architecture/DependencyInjection.aspx"&gt;Dependency Injection for Loose Coupling&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://joelabrahamsson.com/entry/inversion-of-control-introduction-with-examples-in-dotnet"&gt;Inversion of Control – An Introduction with Examples in .NET&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-7840050266365967570?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/7840050266365967570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=7840050266365967570&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7840050266365967570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7840050266365967570'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2011/01/inversion-of-control.html' title='Inversion of Control'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-5794949197153175910</id><published>2010-03-05T17:09:00.007+11:00</published><updated>2010-03-05T17:37:15.361+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET Caching</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;The ASP.NET 2.0 Framework supports the following types of caching:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Page Output Caching&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Partial Page Caching&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;DataSource Caching&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Data Caching&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;When using the cache, it is important to understand that items that you add to the cache might not be there when you attempt to retrieve the item in the future. The cache supports scavenging. When memory resources become low, items are automatically evicted from the cache.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;When you add an item to the Cache, you can specify a particular priority for the item. Specifying a priority provides you with some control over when an item gets evicted from the Cache.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;You can add almost any object to the cache. For example, you can add custom components, DataSets, DataTables, ArrayLists, and Lists to the cache.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;You shouldn’t add items to the cache that depend on an external resource. For example, it does not make sense to add a SqlDataReader or a FileStream to the cache. When using a SqlDataReader, you need to copy the contents of the SqlDataReader into a static representation such as an ArrayList or List collection.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Adding Items with Dependencies: When you add an item to the Cache object, you can make the item dependent on an external object. If the external object is modified, then the item is automatically dropped from the cache.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;You can configure the size of the cache by using the web configuration file. Notice that you can’t set the size of the cache directly. However, you can specify limits on the overall memory that your application consumes, which indirectly limits the size of the cache.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Code Sample:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 10pt; color: black; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: white; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt; &lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; GetDataFromCache()&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;        var data = context.Cache[&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;"data"&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;];&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; (data == &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;        {&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;            &lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;lock&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; (lockString)&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;            {&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;                &lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; (data == &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;                {&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;                    data = GetData();&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;                    context.Cache.Insert(&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;"data"&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;, data, &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;, DateTime.Now.AddMinutes(5), System.Web.Caching.Cache.NoSlidingExpiration);&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;                }&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;            }&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;        }&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:blue;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; data.ToString();&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p style="margin: 0px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;References:&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://www.amazon.com/ASP-NET-2-0-Unleashed-Stephen-Walther/dp/0672328232"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;ASP.NET 2.0 Unleashed&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://stackoverflow.com/questions/39112/what-is-the-best-way-to-lock-cache-in-asp-net"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;What is the best way to lock cache in asp.net?&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-5794949197153175910?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/5794949197153175910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=5794949197153175910&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5794949197153175910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5794949197153175910'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2010/03/aspnet-caching.html' title='ASP.NET Caching'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-8717425736831504171</id><published>2010-03-04T17:52:00.005+11:00</published><updated>2010-03-05T09:55:57.783+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kentico'/><title type='text'>Kentico BizForm Custom Validation</title><content type='html'>Here is how you can custom validate Kentico BizForm fields:&lt;br /&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;div    style="   background: white;font-family:Courier New;font-size:10pt;color:black;"&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color:blue;"&gt;protected&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Page_Init(&lt;span style="color:blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af;"&gt;EventArgs&lt;/span&gt; e)&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;    {&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        BizForm.FormName = &lt;span style="color:#2b91af;"&gt;KenticoHelper&lt;/span&gt;.GetDocumentValueByKey(&lt;span style="color:#a31515;"&gt;"BizFormName"&lt;/span&gt;);&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        BizForm.OnBeforeSave += BizForm_OnBeforeSave;&lt;/p&gt;&lt;p style="margin: 0px;"&gt; &lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;    }&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;div    style="   background: white;font-family:Courier New;font-size:10pt;color:black;"&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color:blue;"&gt;protected&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; BizForm_OnBeforeSave()&lt;/p&gt;&lt;p style="margin: 0px;"&gt;    {&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        CMS.FormControls.&lt;span style="color:#2b91af;"&gt;FormEngineUserControl&lt;/span&gt; em1 = (CMS.FormControls.&lt;span style="color:#2b91af;"&gt;FormEngineUserControl&lt;/span&gt;)BizForm.BasicForm.FieldControls[&lt;span style="color:#a31515;"&gt;"EmailAddress"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        CMS.FormControls.&lt;span style="color:#2b91af;"&gt;FormEngineUserControl&lt;/span&gt; em2 = (CMS.FormControls.&lt;span style="color:#2b91af;"&gt;FormEngineUserControl&lt;/span&gt;)BizForm.BasicForm.FieldControls[&lt;span style="color:#a31515;"&gt;"ConfirmEmailAddress"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:blue;"&gt;string&lt;/span&gt; EmailAddress = em1.Value.ToString();&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:blue;"&gt;string&lt;/span&gt; ValidateEmailAddress = em2.Value.ToString();&lt;/p&gt;&lt;p style="margin: 0px;"&gt; &lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:blue;"&gt;if&lt;/span&gt; (EmailAddress != ValidateEmailAddress)&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        {&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            CMS.ExtendedControls.&lt;span style="color:#2b91af;"&gt;LocalizedLabel&lt;/span&gt; ictrl = (CMS.ExtendedControls.&lt;span style="color:#2b91af;"&gt;LocalizedLabel&lt;/span&gt;)BizForm.BasicForm.FieldErrorLabels[&lt;span style="color:#a31515;"&gt;"ConfirmEmailAddress"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            ictrl.Visible = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            ictrl.Text = &lt;span style="color:#a31515;"&gt;"The e-mail addresses do not match, please check it."&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            &lt;span style="color:blue;"&gt;this&lt;/span&gt;.BizForm.StopProcessing = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        }&lt;/p&gt;&lt;p style="margin: 0px;"&gt; &lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:#2b91af;"&gt;CheckBox&lt;/span&gt; cbAgreeTerms = (&lt;span style="color:#2b91af;"&gt;CheckBox&lt;/span&gt;)BizForm.BasicForm.FieldControls[&lt;span style="color:#a31515;"&gt;"AgreeTerms"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:blue;"&gt;if&lt;/span&gt; (!cbAgreeTerms.Checked)&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        {&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            CMS.ExtendedControls.&lt;span style="color:#2b91af;"&gt;LocalizedLabel&lt;/span&gt; agreeTerms_ErrorLabel = (CMS.ExtendedControls.&lt;span style="color:#2b91af;"&gt;LocalizedLabel&lt;/span&gt;)BizForm.BasicForm.FieldErrorLabels[&lt;span style="color:#a31515;"&gt;"AgreeTerms"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            agreeTerms_ErrorLabel.Visible = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            agreeTerms_ErrorLabel.Text = &lt;span style="color:#a31515;"&gt;"Field Required."&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            &lt;span style="color:blue;"&gt;this&lt;/span&gt;.BizForm.StopProcessing = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        }&lt;/p&gt;&lt;p style="margin: 0px;"&gt; &lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:#2b91af;"&gt;CheckBox&lt;/span&gt; cbUnderstandConfidential = (&lt;span style="color:#2b91af;"&gt;CheckBox&lt;/span&gt;)BizForm.BasicForm.FieldControls[&lt;span style="color:#a31515;"&gt;"UnderstandConfidential"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:blue;"&gt;if&lt;/span&gt; (!cbUnderstandConfidential.Checked)&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        {&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            CMS.ExtendedControls.&lt;span style="color:#2b91af;"&gt;LocalizedLabel&lt;/span&gt; understandConfidential_ErrorLabel = (CMS.ExtendedControls.&lt;span style="color:#2b91af;"&gt;LocalizedLabel&lt;/span&gt;)BizForm.BasicForm.FieldErrorLabels[&lt;span style="color:#a31515;"&gt;"UnderstandConfidential"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            understandConfidential_ErrorLabel.Visible = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            understandConfidential_ErrorLabel.Text = &lt;span style="color:#a31515;"&gt;"Field Required."&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            &lt;span style="color:blue;"&gt;this&lt;/span&gt;.BizForm.StopProcessing = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        }&lt;/p&gt;&lt;p style="margin: 0px;"&gt; &lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:#2b91af;"&gt;CheckBox&lt;/span&gt; cbUnderstandChecks = (&lt;span style="color:#2b91af;"&gt;CheckBox&lt;/span&gt;)BizForm.BasicForm.FieldControls[&lt;span style="color:#a31515;"&gt;"UnderstandChecks"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        &lt;span style="color:blue;"&gt;if&lt;/span&gt; (!cbUnderstandChecks.Checked)&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        {&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            CMS.ExtendedControls.&lt;span style="color:#2b91af;"&gt;LocalizedLabel&lt;/span&gt; understandChecks_ErrorLabel = (CMS.ExtendedControls.&lt;span style="color:#2b91af;"&gt;LocalizedLabel&lt;/span&gt;)BizForm.BasicForm.FieldErrorLabels[&lt;span style="color:#a31515;"&gt;"UnderstandChecks"&lt;/span&gt;];&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            understandChecks_ErrorLabel.Visible = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            understandChecks_ErrorLabel.Text = &lt;span style="color:#a31515;"&gt;"Field Required."&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;            &lt;span style="color:blue;"&gt;this&lt;/span&gt;.BizForm.StopProcessing = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;        }&lt;/p&gt;&lt;p style="margin: 0px;"&gt;    }&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-8717425736831504171?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/8717425736831504171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=8717425736831504171&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8717425736831504171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8717425736831504171'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2010/03/kentico-bizform-custom-validation.html' title='Kentico BizForm Custom Validation'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-8777034541222380423</id><published>2010-01-18T16:16:00.006+11:00</published><updated>2010-01-18T16:51:06.901+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF Basics</title><content type='html'>&lt;span style="font-family:arial;"&gt;Service Contract&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;A Service Contract describes what the service can do. It defines some properties about the service, and a set of actions called Operation Contracts. Operation Contracts are equivalent to web methods in ASMX, or to operation element in WSDL. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;A service contract is an interface that the WCF tools and infrastructure can convert into a WSDL document, listing the operations for a service as a series of SOAP messages and message responses. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;You provide an implementation of these methods in a class in the service. When a service executes, the WCF runtime creates a channel stack by using the bindings specified in the service configuration file and listens for client requests in the form of one of these messages. The WCF runtime then converts each SOAP message sent by a client application into a method call and invokes the corresponding method in an instance of the class implementing the service. Any data returned by the method is converted back into a SOAP response message and is sent back through the channel stack for transmission to the client application.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;WCF assumes that nothing is exposed by default. So, if you do not specify your class with Data Contract attributes, WCF doesn’t allow serialization to the wire.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Data Contracts&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Service Contracts by default, can handle simple service calls. Calls which can have simple type arguments (build-in types), and which return also simple types values. The problem comes when you want to return a custom type, or accept it as an argument for your service operation. In order to do that, the messaging world, has a concept called Data Contract. Data Contract is the normalization of your custom messaging structures. It defines the members of your operation arguments or return values. In WSDL, the Data Contract is equivalent to the type element. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.arquitecturadesoftware.org/blogs/hugobatista/archive/2005/11/05/wcf-basics-service-contracts.aspx"&gt;&lt;span style="font-family:arial;"&gt;WCF Basics - Service Contracts&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.arquitecturadesoftware.org/blogs/hugobatista/archive/2005/11/06/wcf-basics-data-contracts.aspx"&gt;&lt;span style="font-family:arial;"&gt;WCF Basics - Data Contracts&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=10022&amp;amp;locale=en-us" border="0"&gt;&lt;span style="font-family:arial;"&gt;Microsoft Windows Communication Foundation Step by Step&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-8777034541222380423?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/8777034541222380423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=8777034541222380423&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8777034541222380423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8777034541222380423'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2010/01/wcf-basics.html' title='WCF Basics'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-7410121475861078372</id><published>2010-01-07T16:44:00.006+11:00</published><updated>2010-01-07T16:56:42.048+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transact-SQL'/><title type='text'>Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.</title><content type='html'>&lt;span style="font-family:arial;"&gt;If you are using a stored procedures that use temporary tables, then be aware that temporary tables created within a stored procedure use the tempdb database’s collation instead of the current user database’s collation. Tempdb is created at installation and is assigned the default collation.&lt;br /&gt;&lt;br /&gt;Use 'COLLATE DATABASE_DEFAULT' to resolve the collation conflict, e.g.&lt;br /&gt;&lt;br /&gt;SELECT * FROM TableA&lt;br /&gt;WHERE ID COLLATE DATABASE_DEFAULT&lt;br /&gt;IN (SELECT TableAID FROM #temp)&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.sqlauthority.com/2007/06/11/sql-server-cannot-resolve-collation-conflict-for-equal-to-operation/"&gt;&lt;span style="font-family:arial;"&gt;SQL SERVER – Cannot resolve collation conflict for equal to operation&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sqlmag.com/Article/ArticleID/27265/Collation_Conflict.html"&gt;&lt;span style="font-family:arial;"&gt;Collation Conflict&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-7410121475861078372?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/7410121475861078372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=7410121475861078372&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7410121475861078372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7410121475861078372'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2010/01/cannot-resolve-collation-conflict.html' title='Cannot resolve the collation conflict between &quot;Latin1_General_CI_AS&quot; and &quot;SQL_Latin1_General_CP1_CI_AS&quot; in the equal to operation.'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1994910481271721963</id><published>2010-01-07T16:32:00.003+11:00</published><updated>2010-01-07T16:39:41.593+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='System Admin'/><title type='text'>Find the name of the server where the site is hosted on</title><content type='html'>&lt;span style="font-family:arial;"&gt;How to find out which website is assigned to which server on your network?&lt;br /&gt;&lt;br /&gt;1. Start a command prompt windows (start menu, click on run, type in CMD and press OK/run)&lt;br /&gt;&lt;br /&gt;2. Type in the following command and press enter&lt;br /&gt;&lt;br /&gt;Nslookup www.yoursite.com.au&lt;br /&gt;It will return an ip – xxx.xx.xx.xxx&lt;br /&gt;&lt;br /&gt;3. Now – we type the same command – with the ip above&lt;br /&gt;&lt;br /&gt;Nslookup xxx.xx.xx.xxx&lt;br /&gt;&lt;br /&gt;It will return the name of the server where the site is hosted on.&lt;br /&gt;&lt;br /&gt;Give it a shot……… knock yourself out!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1994910481271721963?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1994910481271721963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1994910481271721963&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1994910481271721963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1994910481271721963'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2010/01/find-name-of-server-where-site-is.html' title='Find the name of the server where the site is hosted on'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-263100059241316545</id><published>2009-12-15T16:42:00.005+11:00</published><updated>2009-12-15T16:54:52.205+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Filter &amp; Sort DataTable using LINQ</title><content type='html'>&lt;span style="font-family:arial;"&gt;You need to add reference to System.Data.DataSetExtensions to be able to use AsEnumerable()  on a datatable.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;\red0\green128\blue0;\red163\green21\blue21;}??\fs20 \cf1 Dim\cf0  dt \cf1 As\cf0  \cf1 New\cf0  DataTable\par ??dt.Load(myDataReader)\par ??\par ??\cf4 'get name of distinct root taxonomiess \par ??\cf1 Dim\cf0  root_names \cf1 As\cf0  IEnumerable(\cf1 Of\cf0  \cf1 String\cf0 ) = \cf1 From\cf0  myRow \cf1 In\cf0  dt.AsEnumerable() _\par ??           \cf1 Select\cf0  myRow.Field(\cf1 Of\cf0  \cf1 String\cf0 )(\cf5 "root_name"\cf0 ) \cf1 Distinct\par ??\par ??\cf4 'get a list of the root taxonomy objects based on the name\par ??\cf1 Dim\cf0  list \cf1 As\cf0  \cf1 New\cf0  List(\cf1 Of\cf0  Taxon.Taxon)\par ??            \cf1 For\cf0  \cf1 Each\cf0  root_name \cf1 As\cf0  \cf1 String\cf0  \cf1 In\cf0  root_names\par ??\cf1 Dim\cf0  t \cf1 As\cf0  Taxon.Taxon = Taxon.TaxonDAL.Instance.GetOnName(root_name)\par ??                \cf1 If\cf0  t \cf1 IsNot\cf0  \cf1 Nothing\cf0  \cf1 Then\par ??\cf0                     list.Add(t)\par ??                \cf1 End\cf0  \cf1 If\par ??\cf0             \cf1 Next\par ??\cf4 'sort the root taxons by Product_DisplayOrder\par ??\cf0             list.Sort(\cf1 Function\cf0 (p1, p2) p1.Product_DisplayOrder.CompareTo(p2.Product_DisplayOrder))\par ??\par ??\cf1 For\cf0  \cf1 Each\cf0  t \cf1 As\cf0  Taxon.Taxon \cf1 In\cf0  list\par ??\par ??\cf1 Dim\cf0  currentRootName \cf1 As\cf0  \cf1 String\cf0  = t.name\par ??\par ??\cf4 'get the children of the current root taxon \par ??\cf1 Dim\cf0  drRows \cf1 As\cf0  IEnumerable(\cf1 Of\cf0  DataRow) = \cf1 From\cf0  myRow \cf1 In\cf0  dt.AsEnumerable() _\par ??\cf1 Where\cf0  myRow.Field(\cf1 Of\cf0  \cf1 String\cf0 )(\cf5 "root_name"\cf0 ) = currentRootName _\par ??\cf1 Order\cf0  \cf1 By\cf0  myRow.Field(\cf1 Of\cf0  \cf1 Double\cf0 )(\cf5 "Product_DisplayOrder"\cf0 ) \cf1 Ascending\cf0  _\par ??\cf1 Select\cf0  myRow\par ??\par ??                \cf1 For\cf0  \cf1 Each\cf0  rv \cf1 As\cf0  DataRow \cf1 In\cf0  drRows\par ??\cf1 Dim\cf0  ThisTaxonId \cf1 As\cf0  \cf1 String\cf0  = rv(\cf5 "taxon_id"\cf0 )\par ??\tab \tab     \cf1 Next\par ??\cf0  \cf1 Next} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; dt &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; DataTable&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;dt.Load(myDataReader)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'get name of distinct root taxonomies &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; root_names &lt;span style="color:blue;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) = &lt;span style="color:blue;"&gt;From&lt;/span&gt; myRow &lt;span style="color:blue;"&gt;In&lt;/span&gt; dt.AsEnumerable() _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Select&lt;/span&gt; myRow.Field(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;)(&lt;span style="color:#a31515;"&gt;"root_name"&lt;/span&gt;) &lt;span style="color:blue;"&gt;Distinct&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'get a list of the root taxonomy objects based on the name&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; list &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; List(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; Taxon.Taxon)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; root_name &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; &lt;span style="color:blue;"&gt;In&lt;/span&gt; root_names&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; t &lt;span style="color:blue;"&gt;As&lt;/span&gt; Taxon.Taxon = Taxon.TaxonDAL.Instance.GetOnName(root_name)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; t &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;list.Add(t)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'sort the root taxons by Product_DisplayOrder&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;list.Sort(&lt;span style="color:blue;"&gt;Function&lt;/span&gt;(p1, p2) p1.Product_DisplayOrder.CompareTo(p2.Product_DisplayOrder))&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; t &lt;span style="color:blue;"&gt;As&lt;/span&gt; Taxon.Taxon &lt;span style="color:blue;"&gt;In&lt;/span&gt; list&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; currentRootName &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = t.name&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'get the children of the current root taxon &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; drRows &lt;span style="color:blue;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; DataRow) = &lt;span style="color:blue;"&gt;From&lt;/span&gt; myRow &lt;span style="color:blue;"&gt;In&lt;/span&gt; dt.AsEnumerable() _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Where&lt;/span&gt; myRow.Field(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;)(&lt;span style="color:#a31515;"&gt;"root_name"&lt;/span&gt;) = currentRootName _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Order&lt;/span&gt; &lt;span style="color:blue;"&gt;By&lt;/span&gt; myRow.Field(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; &lt;span style="color:blue;"&gt;Double&lt;/span&gt;)(&lt;span style="color:#a31515;"&gt;"Product_DisplayOrder"&lt;/span&gt;) &lt;span style="color:blue;"&gt;Ascending&lt;/span&gt; _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Select&lt;/span&gt; myRow&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; rv &lt;span style="color:blue;"&gt;As&lt;/span&gt; DataRow &lt;span style="color:blue;"&gt;In&lt;/span&gt; drRows&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; ThisTaxonId &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = rv(&lt;span style="color:#a31515;"&gt;"taxon_id"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a class="question-hyperlink" href="http://stackoverflow.com/questions/10855/linq-query-on-a-datatable"&gt;&lt;span style="font-family:arial;"&gt;LINQ query on a DataTable&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-263100059241316545?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/263100059241316545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=263100059241316545&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/263100059241316545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/263100059241316545'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/12/filter-sort-datatable-using-linq.html' title='Filter &amp; Sort DataTable using LINQ'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-4718989792681531731</id><published>2009-12-09T21:58:00.004+11:00</published><updated>2009-12-09T22:04:44.547+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transact-SQL'/><title type='text'>While loop in sql</title><content type='html'>&lt;span style="font-family:arial;"&gt;Here is how to do while loop in sql:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;}??\fs20 --script \cf3 to\cf0  copy UserOrganisationId record from User table \cf3 to\cf0  User_Organisation\par ??--this script \cf3 is\cf0  meant \cf3 to\cf0  be run ONLY ONCE \cf3 for\cf0  clients who want \cf3 to\cf0  upgrade \cf3 to\cf0  6.9\par ??\par ??\cf3 Declare\cf0  @UserID \cf3 as\cf0  int\par ??\cf3 Declare\cf0  @MaxUserID \cf3 as\cf0  int\par ??\cf3 Declare\cf0  @OrgID int\par ??\par ??\cf3 select\cf0  @UserID    = MIN(intuserid) from [user]\par ??\cf3 select\cf0  @MaxUserID = MAX(intuserid) from [user]\par ??\par ??\cf3 WHILE\cf0  (@UserID &lt;= @MaxUserID)\par ??BEGIN\par ??\tab \cf3 if\cf0  exists(\cf3 Select\cf0  * from [user] where intuserid=@UserID)\par ??\tab begin               \par ??\tab \tab \cf3 select\cf0  @UserID=intuserid, @OrgID=UserOrganisationId\par ??\tab \tab from [user] where intuserid = @UserID\par ??\tab \tab \cf3 if\cf0  @orgID \cf3 is\cf0  \cf3 not\cf0  null \cf3 and\cf0  @orgID&gt; 0 \par ??\tab \tab begin\par ??\tab \tab \tab INSERT INTO User_Organisation (UserID, OrganisationID, IsDefaultOrganisation)\par ??\tab \tab \tab VALUES (@UserID, @OrgID, 1)\par ??\tab \tab \cf3 end\par ??\cf0 \tab \cf3 end\par ??\cf0 \tab \cf3 set\cf0  @UserID=@UserID+1\par ??\cf3 END\par ??\par ??\cf0 -- alternative script\par ??INSERT INTO User_Organisation (UserID, OrganisationID, IsDefaultOrganisation)\par ??\cf3 SELECT\cf0      intUserID, UserOrganisationId, 1\par ??FROM         [User]\par ??WHERE     (UserOrganisationId \cf3 IS\cf0  \cf3 NOT\cf0  NULL) \cf3 AND\cf0  (UserOrganisationId&gt; 0)} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;--script &lt;span style="color:blue;"&gt;to&lt;/span&gt; copy UserOrganisationId record from User table &lt;span style="color:blue;"&gt;to&lt;/span&gt; User_Organisation&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Declare&lt;/span&gt; @UserID &lt;span style="color:blue;"&gt;as&lt;/span&gt; int&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Declare&lt;/span&gt; @MaxUserID &lt;span style="color:blue;"&gt;as&lt;/span&gt; int&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Declare&lt;/span&gt; @OrgID int&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; @UserID = MIN(intuserid) from [user]&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; @MaxUserID = MAX(intuserid) from [user]&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;WHILE&lt;/span&gt; (@UserID &amp;lt;= @MaxUserID)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;BEGIN&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; exists(&lt;span style="color:blue;"&gt;Select&lt;/span&gt; * from [user] where intuserid=@UserID)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;begin &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; @UserID=intuserid, @OrgID=UserOrganisationId&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;from [user] where intuserid = @UserID&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; @orgID &lt;span style="color:blue;"&gt;is&lt;/span&gt; &lt;span style="color:blue;"&gt;not&lt;/span&gt; null &lt;span style="color:blue;"&gt;and&lt;/span&gt; @orgID &amp;gt; 0 &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;begin&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;INSERT INTO User_Organisation (UserID, OrganisationID, IsDefaultOrganisation)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;VALUES (@UserID, @OrgID, 1)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt; @UserID=@UserID+1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;END&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;-- alternative script&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;INSERT INTO User_Organisation (UserID, OrganisationID, IsDefaultOrganisation)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; intUserID, UserOrganisationId, 1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;FROM [User]&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;WHERE (UserOrganisationId &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NOT&lt;/span&gt; NULL) &lt;span style="color:blue;"&gt;AND&lt;/span&gt; (UserOrganisationId &amp;gt; 0)&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-4718989792681531731?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/4718989792681531731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=4718989792681531731&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4718989792681531731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4718989792681531731'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/12/while-loop-in-sql.html' title='While loop in sql'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-4105937654385289093</id><published>2009-12-09T21:32:00.005+11:00</published><updated>2009-12-09T22:11:22.354+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Get comma seperated string</title><content type='html'>&lt;span style="font-family:arial;"&gt;This is how you can get comma seperated string:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;\red163\green21\blue21;}??\fs20 \par ??\cf1 Public\cf0  \cf1 Function\cf0  GetUserOrganisationIds(\cf1 ByVal\cf0  userID \cf1 As\cf0  \cf1 Integer\cf0 ) \cf1 As\cf0  \cf1 String\par ??\par ??\cf0     \cf1 Dim\cf0  dbCon \cf1 As\cf0  \cf1 New\cf0  SqlConnection(ConnectionString)\par ??    dbCon.Open()\par ??    \cf1 Dim\cf0  cmd \cf1 As\cf0  \cf1 New\cf0  SqlCommand(\cf4 "GetUserOrganisationIds"\cf0 , dbCon)\par ??    cmd.CommandType = CommandType.StoredProcedure\par ??\par ??    \cf1 Try\par ??\cf0         \cf1 Dim\cf0  dr \cf1 As\cf0  SqlDataReader = cmd.ExecuteReader\par ??        \cf1 Dim\cf0  orgList \cf1 As\cf0  \cf1 New\cf0  List(\cf1 Of\cf0  \cf1 String\cf0 )\par ??        \cf1 While\cf0  dr.Read\par ??            orgList.Add(dr(\cf4 "OrganisationID"\cf0 ).ToString)\par ??        \cf1 End\cf0  \cf1 While\par ??\cf0         \cf1 If\cf0  orgList.Count&gt; 0 \cf1 Then\par ??\cf0             \cf1 Return\cf0  \cf1 String\cf0 .Join(\cf4 ","\cf0 , orgList.ToArray())\par ??        \cf1 Else\par ??\cf0             \cf1 Return\cf0  \cf4 ""\par ??\cf0         \cf1 End\cf0  \cf1 If\par ??\par ??\cf0     \cf1 Catch\cf0  ex \cf1 As\cf0  Exception\par ??        \cf1 Throw\cf0  (ex)\par ??    \cf1 Finally\par ??\cf0         dbCon.Close()\par ??    \cf1 End\cf0  \cf1 Try\par ??\par ??End\cf0  \cf1 Function} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetUserOrganisationIds(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; userID &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; dbCon &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; SqlConnection(ConnectionString)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;dbCon.Open()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; cmd &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; SqlCommand(&lt;span style="color:#a31515;"&gt;"GetUserOrganisationIds"&lt;/span&gt;, dbCon)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;cmd.CommandType = CommandType.StoredProcedure&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Try&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; dr &lt;span style="color:blue;"&gt;As&lt;/span&gt; SqlDataReader = cmd.ExecuteReader&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; orgList &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; List(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;While&lt;/span&gt; dr.Read&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;orgList.Add(dr(&lt;span style="color:#a31515;"&gt;"OrganisationID"&lt;/span&gt;).ToString)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;While&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; orgList.Count &amp;gt; 0 &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;.Join(&lt;span style="color:#a31515;"&gt;","&lt;/span&gt;, orgList.ToArray())&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Else&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Throw&lt;/span&gt; (ex)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Finally&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;dbCon.Close()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Here is how to do it in sql:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/p&gt;&lt;/span&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red0\green128\blue0;}??\fs20 --\cf3 declare\cf0  holder var\par ??\cf3 DECLARE\cf0  @list VARCHAR(8000)\par ??--build comma separated list\par ??\cf3 SELECT\cf0  @list = COALESCE(@list + \cf4 ', ', '') + CAST(DZName AS VARCHAR(5) )\par ??\cf0 FROM ClubDZlocation where ClubId = 201\par ??--show results\par ??\cf3 SELECT\cf0  @list \cf3 AS\cf0  \cf4 'list'} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;--&lt;span style="color:blue;"&gt;declare&lt;/span&gt; holder var&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @list VARCHAR(8000)&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;--build comma separated list&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; @list = COALESCE(@list + &lt;span style="color:green;"&gt;',', '') + CAST(DZName AS VARCHAR(5) )&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;FROM ClubDZlocation where ClubId = 201&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;--show results&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; @list &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:green;"&gt;'list'&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-4105937654385289093?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/4105937654385289093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=4105937654385289093&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4105937654385289093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4105937654385289093'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/12/get-comma-seperated-string.html' title='Get comma seperated string'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-2678795052062376460</id><published>2009-11-18T16:28:00.006+11:00</published><updated>2009-11-18T19:26:23.213+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><title type='text'>JQuery Validation</title><content type='html'>&lt;span style="font-family:arial;"&gt;Just wanna share some JQuery validation sample code which might be useful:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red163\green21\blue21;\red0\green128\blue0;}??\fs20 //\cf3 if\cf0  you put CssClass=\cf4 "required"\cf0  \cf3 on\cf0  the dropdownlist, \par ??//\cf3 then\cf0  JQuery\cf5 's default required field validator will valiate the dropdownlist, \par ??\cf0 //but it only returns \cf3 false\cf0  \cf3 if\cf0  there \cf3 is\cf0  no items \cf3 in\cf0  the dropdownlist \par ??// -------------------Custom \cf3 function\cf0 : Required Validator \cf3 for\cf0  Drop Down List----------------------------------------------------\par ??jQuery.validator.addMethod(\cf4 "Validate_ddls"\cf0 , \cf3 function\cf0 (value, element) \{\par ??\par ??    \cf3 if\cf0  (null != element) \{\par ??        var iValue = \cf3 new\cf0  Number(element[element.selectedIndex].value);\par ??        //\cf3 if\cf0  ddlColumns \cf3 is\cf0  \cf3 not\cf0  populated, selectedIndex will be -1\par ??        \cf3 if\cf0  (iValue &lt;= 0  iValue == NaN) \{\par ??            \cf3 return\cf0  \cf3 false\cf0 ;\par ??        \}\par ??        \cf3 else\cf0  \{\par ??            \cf3 return\cf0  \cf3 true\cf0 ;\par ??        \}\par ??    \}\par ??    \cf3 else\cf0  \{\par ??        \cf3 return\cf0  \cf3 false\cf0 ;\par ??    \}\par ??\}, jQuery.validator.messages.required);\par ??\par ??\par ??// -------------------Custom \cf3 function\cf0 : Positive_Integer_Exclude_Zero----------------------------------------------------\par ??jQuery.validator.addMethod(\cf4 "Positive_Integer_Exclude_Zero"\cf0 , \cf3 function\cf0 (value, element) \{\par ??    \cf3 return\cf0  this.optional(element)  /^[1-9]\\d*$/.test(value);\par ??\}, \cf4 "Positive Integer Only"\cf0 );\par ??\par ??// -------------------Custom \cf3 function\cf0 : Positive_Integer----------------------------------------------------\par ??jQuery.validator.addMethod(\cf4 "Positive_Integer"\cf0 , \cf3 function\cf0 (value, element) \{\par ??    \cf3 return\cf0  this.optional(element)  /^[0-9]\\d*$/.test(value);\par ??\}, \cf4 "Positive Integer Only"\cf0 );\par ??\par ??// -------------------Custom \cf3 function\cf0 : Positive_Decimal_Exclude_Zero----------------------------------------------------\par ??jQuery.validator.addMethod(\cf4 "Positive_Decimal_Exclude_Zero"\cf0 , \cf3 function\cf0 (value, element) \{\par ??\cf3 return\cf0  this.optional(element)  /(^\\d*\\.?\\d*[1-9]+\\d*$)(^[1-9]+\\d*\\.\\d*$)/.test(value);\par ??\}, \cf4 "Invalid Amount"\cf0 );\par ??\par ??// -------------------Custom \cf3 function\cf0 : Positive_Decimal----------------------------------------------------\par ??jQuery.validator.addMethod(\cf4 "Positive_Decimal"\cf0 , \cf3 function\cf0 (value, element) \{\par ??    \cf3 return\cf0  this.optional(element)  /(^\\d*\\.?\\d*[0-9]+\\d*$)(^[0-9]+\\d*\\.\\d*$)/.test(value);\par ??\}, \cf4 "Invalid Amount"\cf0 );\par ??\par ??// -------------------Custom \cf3 function\cf0 : Validate_Email----------------------------------------------------\par ??jQuery.validator.addMethod(\cf4 "Validate_Email"\cf0 , \cf3 function\cf0 (value, element) \{\par ??    \cf3 return\cf0  this.optional(element)  /^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]\{2,4\}$/.test(value);\par ??\}, \cf4 "Invalid Email address"\cf0 );} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;//&lt;span style="color:blue;"&gt;if&lt;/span&gt; you put CssClass=&lt;span style="color:#a31515;"&gt;"required"&lt;/span&gt; &lt;span style="color:blue;"&gt;on&lt;/span&gt; the dropdownlist, &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;//&lt;span style="color:blue;"&gt;then&lt;/span&gt; JQuery&lt;span style="color:green;"&gt;'s default required field validator will valiate the dropdownlist, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;//but it only returns &lt;span style="color:blue;"&gt;false&lt;/span&gt; &lt;span style="color:blue;"&gt;if&lt;/span&gt; there &lt;span style="color:blue;"&gt;is&lt;/span&gt; no items &lt;span style="color:blue;"&gt;in&lt;/span&gt; the dropdownlist &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;// -------------------Custom &lt;span style="color:blue;"&gt;function&lt;/span&gt;: Required Validator &lt;span style="color:blue;"&gt;for&lt;/span&gt; Drop Down List----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;jQuery.validator.addMethod(&lt;span style="color:#a31515;"&gt;"Validate_ddls"&lt;/span&gt;, &lt;span style="color:blue;"&gt;function&lt;/span&gt;(value, element) {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (null != element) {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var iValue = &lt;span style="color:blue;"&gt;new&lt;/span&gt; Number(element[element.selectedIndex].value);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;//&lt;span style="color:blue;"&gt;if&lt;/span&gt; ddlColumns &lt;span style="color:blue;"&gt;is&lt;/span&gt; &lt;span style="color:blue;"&gt;not&lt;/span&gt; populated, selectedIndex will be -1&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (iValue &amp;lt;= 0 iValue == NaN) {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt; {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt; {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}, jQuery.validator.messages.required);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;// -------------------Custom &lt;span style="color:blue;"&gt;function&lt;/span&gt;: Positive_Integer_Exclude_Zero----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;jQuery.validator.addMethod(&lt;span style="color:#a31515;"&gt;"Positive_Integer_Exclude_Zero"&lt;/span&gt;, &lt;span style="color:blue;"&gt;function&lt;/span&gt;(value, element) {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; this.optional(element) /^[1-9]\d*$/.test(value);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}, &lt;span style="color:#a31515;"&gt;"Positive Integer Only"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;// -------------------Custom &lt;span style="color:blue;"&gt;function&lt;/span&gt;: Positive_Integer----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;jQuery.validator.addMethod(&lt;span style="color:#a31515;"&gt;"Positive_Integer"&lt;/span&gt;, &lt;span style="color:blue;"&gt;function&lt;/span&gt;(value, element) {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; this.optional(element) /^[0-9]\d*$/.test(value);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}, &lt;span style="color:#a31515;"&gt;"Positive Integer Only"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;// -------------------Custom &lt;span style="color:blue;"&gt;function&lt;/span&gt;: Positive_Decimal_Exclude_Zero----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;jQuery.validator.addMethod(&lt;span style="color:#a31515;"&gt;"Positive_Decimal_Exclude_Zero"&lt;/span&gt;, &lt;span style="color:blue;"&gt;function&lt;/span&gt;(value, element) {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; this.optional(element) /(^\d*\.?\d*[1-9]+\d*$)(^[1-9]+\d*\.\d*$)/.test(value);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}, &lt;span style="color:#a31515;"&gt;"Invalid Amount"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;// -------------------Custom &lt;span style="color:blue;"&gt;function&lt;/span&gt;: Positive_Decimal----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;jQuery.validator.addMethod(&lt;span style="color:#a31515;"&gt;"Positive_Decimal"&lt;/span&gt;, &lt;span style="color:blue;"&gt;function&lt;/span&gt;(value, element) {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; this.optional(element) /(^\d*\.?\d*[0-9]+\d*$)(^[0-9]+\d*\.\d*$)/.test(value);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}, &lt;span style="color:#a31515;"&gt;"Invalid Amount"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;// -------------------Custom &lt;span style="color:blue;"&gt;function&lt;/span&gt;: Validate_Email----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;jQuery.validator.addMethod(&lt;span style="color:#a31515;"&gt;"Validate_Email"&lt;/span&gt;, &lt;span style="color:blue;"&gt;function&lt;/span&gt;(value, element) {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; this.optional(element) /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(value);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}, &lt;span style="color:#a31515;"&gt;"Invalid Email address"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red163\green21\blue21;}??\fs20  // -------------------Validate the whole Form----------------------------------------------------\par ??        $(document).ready(\cf3 function\cf0 () \{\par ??            $(\cf4 "#aspnetForm"\cf0 ).validate(\{\par ??                rules: \{\par ??                    &lt;%=txtTag.UniqueID %&gt;:\{\par ??                        required: \cf3 true\par ??\cf0                     \},\par ??                    &lt;%=ddlTables.UniqueID %&gt;:\{\par ??                        Validate_ddls: \cf3 true\par ??\cf0                     \},\par ??                    &lt;%=ddlColumns.UniqueID %&gt;:\{\par ??                        Validate_ddls: \cf3 true\par ??\cf0                     \}\par ??                \},\par ??                messages: \{\par ??                    &lt;%=txtTag.UniqueID %&gt;:\{ \par ??                        required: \cf4 "Tag is required"\par ??\cf0                     \},\par ??                    &lt;%=ddlColumns.UniqueID %&gt;:\{ \par ??                        required: \cf4 "Field is required"\par ??\cf0                     \}\par ??                \}\par ??            \});\par ??        \});\par ??} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;// -------------------Validate the whole Form----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;$(document).ready(&lt;span style="color:blue;"&gt;function&lt;/span&gt;() {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;$(&lt;span style="color:#a31515;"&gt;"#aspnetForm"&lt;/span&gt;).validate({&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;rules: {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%=txtTag.UniqueID %&amp;gt;:{&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;required: &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;},&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%=ddlTables.UniqueID %&amp;gt;:{&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Validate_ddls: &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;},&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%=ddlColumns.UniqueID %&amp;gt;:{&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Validate_ddls: &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;},&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;messages: {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%=txtTag.UniqueID %&amp;gt;:{ &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;required: &lt;span style="color:#a31515;"&gt;"Tag is required"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;},&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%=ddlColumns.UniqueID %&amp;gt;:{ &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;required: &lt;span style="color:#a31515;"&gt;"Field is required"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;});&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;});&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red163\green21\blue21;\red100\green100\blue185;\red132\green70\blue70;}??\fs20 &lt;script type="\cf3" src="\cf3"&gt;\cf4 &lt;/\cf5 script\cf4 &gt;\par ??\cf0 &lt;script type="\cf3" src="\cf3"&gt;\cf4 &lt;/\cf5 script\cf4 &gt;} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;script type=&lt;span style="color:#a31515;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color:#a31515;"&gt;"../include/APF_js/jquery-1.3.2.js"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;script&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;script type=&lt;span style="color:#a31515;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color:#a31515;"&gt;"../include/APF_js/jquery.validate.js"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;script&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-2678795052062376460?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/2678795052062376460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=2678795052062376460&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2678795052062376460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2678795052062376460'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/11/jquery-validation.html' title='JQuery Validation'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-8365578600539078628</id><published>2009-09-28T14:42:00.006+10:00</published><updated>2009-09-28T15:06:18.257+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>DesignMode -  fix body tag as literal control</title><content type='html'>&lt;span style="font-family:arial;"&gt;Sometimes, you might want to put html body tag in a literal control. Then you lost intellisense from Visual Studio. You can use DesignMode property to fix it:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;% &lt;span style="color:blue;"&gt;If&lt;/span&gt; DesignMode Then%&amp;gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Else%&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:Literal ID=&lt;span style="color:#a31515;"&gt;"litBodyTag"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;% &lt;span style="color:blue;"&gt;End&lt;/span&gt; If%&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-8365578600539078628?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/8365578600539078628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=8365578600539078628&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8365578600539078628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8365578600539078628'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/09/designmode-fix-body-tag-as-literal.html' title='DesignMode -  fix body tag as literal control'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-3071469332788507639</id><published>2009-08-24T16:40:00.005+10:00</published><updated>2009-09-11T16:41:26.306+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Load balancing issues for ASP.NET applications</title><content type='html'>&lt;span style="font-family:arial;"&gt;Rencently, our company started to change our hosting to adapt cluster servers and Mirrored SQL Servers. We just used DFS replication, we did not use a load balancer server.&lt;br /&gt;&lt;br /&gt;There are a couple of issues we need to address because of the change:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;when put a object in session, make sure it is Serializable, so later in the clustered environment, if you manage session in sql server, it can be stored in sql server&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;We were using a third party control for uploading images called I-Load which created some issues with temp image folder, luckily we fixed it. So when buying third-party control like ILoad, make sure it supports web farm&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;We were using a third party control called DynamicControlsPlaceholder which does not work in cluster environment until we modified it a bit to make it work&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;view state needs to have shared machinekey set up in web.config for web farm environment (in iis7 use sharekey section to share key with other web servers in the farm, then use iis7 to generate unique machinekey for every application in the iis, so that applications do not interrupt with each other)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Cache &amp;amp; Application variable&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The cached object is stored in process, which means it doesn’t persist if the application domain is restarted and it can’t be shared between computers in a web farm.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Once a worker process recycles, the entire Cache is lost because it was within this process.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Microsoft has tried to fix this a bit with SQL Server cache invalidation (ASP.NET Cache SqlCacheDependency), but it could have potential performance issue and according to &lt;/span&gt;&lt;a href="http://simpable.com/about/"&gt;&lt;span style="font-family:arial;"&gt;Scott Watermasysk&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; he has not seen many be successful with this approach.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;There are a couple third party tools to fix this: &lt;/span&gt;&lt;a href="http://www.danga.com/memcached//omemcached:%20a%20distributed%20memory%20object%20caching%20system"&gt;&lt;span style="font-family:arial;"&gt;Memcached&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;a href="http://www.scaleoutsoftware.com//oScaleOut%20Software%20-%20Distributed%20Caching%20for%20Server%20Farms"&gt;&lt;span style="font-family:arial;"&gt;ScaleOut&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;a href="http://www.alachisoft.com/ncache//oDistributed%20Caching,%20ASP.NET%20Session%20State,%20NHibernate%20Caching,%20and%20Caching%20Application%20Blocking"&gt;&lt;span style="font-family:arial;"&gt;NCache&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;a href="http://www.sharedcache.com/cms/homepage.aspx/oindeXus.Net%20Shared%20Cache%20-%20distributed%20caching%20and%20replicated%20caching"&gt;&lt;span style="font-family:arial;"&gt;SharedCache&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The good news is Microsoft is making some strides here. They are working on an out of processing caching component called &lt;/span&gt;&lt;a href="http://simpable.com/code/velocity/"&gt;&lt;span style="font-family:arial;"&gt;Velocity&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;We have to get rid of cache and application variables to address the problem&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://simpable.com/software/asp-net-caching-is-too-easy/"&gt;ASP.Net Caching Is Too Easy&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-3071469332788507639?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/3071469332788507639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=3071469332788507639&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/3071469332788507639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/3071469332788507639'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/08/load-balancing-issues-for-aspnet.html' title='Load balancing issues for ASP.NET applications'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-8332074780800428150</id><published>2009-08-14T16:08:00.004+10:00</published><updated>2009-08-14T16:20:43.085+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Delete files older than certain period</title><content type='html'>&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Shared&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; ClearTemporaryFiles(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; folderPath &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; maxLifeTime &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; timeLimit &lt;span style="color:blue;"&gt;As&lt;/span&gt; DateTime = DateTime.Now.AddMinutes(0 - maxLifeTime)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; filePaths() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = System.IO.Directory.GetFiles(folderPath, &lt;span style="color:#a31515;"&gt;"*.jpg"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = 0 &lt;span style="color:blue;"&gt;To&lt;/span&gt; filePaths.Length - 1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; filePath &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = filePaths(i)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; (System.IO.File.GetLastWriteTime(filePath) &amp;lt; timeLimit) &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;System.IO.File.Delete(filePath)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-8332074780800428150?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/8332074780800428150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=8332074780800428150&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8332074780800428150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8332074780800428150'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/08/delete-files-older-than-30-minutes.html' title='Delete files older than certain period'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-2050683774883396918</id><published>2009-07-24T16:35:00.004+10:00</published><updated>2009-07-24T16:57:53.912+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Handle file upload timeout</title><content type='html'>&lt;span style="font-family:arial;"&gt;Put the following in the Global.asax.vb, it will check the MaxRequestLength and send you to the error page before uploading the file.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Application_BeginRequest(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; EventArgs)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;' Fires at the beginning of each request, session not available here&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'check for file upload size, &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'MaxRequestLength: Int32, the maximum request size in kilobytes. The default size is 4096 KB (4 MB).&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'ContentLength: Int64, the number of bytes of data to send to the Internet resource. &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; ConfigurationManager.GetSection(&lt;span style="color:#a31515;"&gt;"system.web/httpRuntime"&lt;/span&gt;).MaxRequestLength &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; maxSize &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = &lt;span style="color:blue;"&gt;CInt&lt;/span&gt;(ConfigurationManager.GetSection(&lt;span style="color:#a31515;"&gt;"system.web/httpRuntime"&lt;/span&gt;).MaxRequestLength)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;maxSize = maxSize * 1024&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; Request.ContentLength &amp;gt; maxSize &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'do not redirect to itself, it will create an infinite loop&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.Redirect(&lt;span style="color:#a31515;"&gt;"~/ErrorPage.aspx?ErrMsg=You have reached the maximum upload file limit, please try again!"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.vikramlakhotia.com/Dealing_With_the_ASPNet_Upload_File_Size_Problem.aspx"&gt;&lt;span style="font-family:arial;"&gt;Dealing With the ASP.Net Upload File Size Problem&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-2050683774883396918?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/2050683774883396918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=2050683774883396918&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2050683774883396918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2050683774883396918'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/07/handle-file-upload-timeout.html' title='Handle file upload timeout'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-4863062488763973217</id><published>2009-06-24T21:16:00.003+10:00</published><updated>2009-06-24T21:25:34.989+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Javascript: Clear Form Elements</title><content type='html'>&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt; ClearValue() {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var myContainer = document.getElementById(&lt;span style="color:#a31515;"&gt;"myFormElement"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var options = myContainer.getElementsByTagName(&lt;span style="color:green;"&gt;'input');&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;for&lt;/span&gt; (i = 0; i &amp;lt; options.length; i++) {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var opt = options[i];&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (opt.type == &lt;span style="color:green;"&gt;'text') {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;opt.value = &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt; &lt;span style="color:blue;"&gt;if&lt;/span&gt; (opt.type == &lt;span style="color:green;"&gt;'checkbox'  opt.type == 'radio') {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (opt.checked) {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;opt.checked = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var options = myContainer.getElementsByTagName(&lt;span style="color:green;"&gt;'textarea');&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;for&lt;/span&gt; (i = 0; i &amp;lt; options.length; i++) {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var opt = options[i];&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;opt.value = &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var options = myContainer.getElementsByTagName(&lt;span style="color:green;"&gt;'select');&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;for&lt;/span&gt; (i = 0; i &amp;lt; options.length; i++) {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var opt = options[i];&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;opt.selectedIndex = -1;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.javascript-coder.com/javascript-form/javascript-reset-form.htm"&gt;&lt;span style="font-family:arial;"&gt;Using JavaScript to reset or clear a form&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-4863062488763973217?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/4863062488763973217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=4863062488763973217&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4863062488763973217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4863062488763973217'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/06/javascript-clear-form-elements.html' title='Javascript: Clear Form Elements'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-298148782806281182</id><published>2009-04-21T20:33:00.003+10:00</published><updated>2009-04-21T20:39:13.786+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transact-SQL'/><title type='text'>sort table randomly</title><content type='html'>&lt;span style="font-family:arial;"&gt;The following sample shows you on how to sort sql table randomly:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; * from(&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; top 20 firstname, lastname &lt;span style="color:blue;"&gt;from&lt;/span&gt; [user]&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;) &lt;span style="color:blue;"&gt;as&lt;/span&gt; result order by NEWID()&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-298148782806281182?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/298148782806281182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=298148782806281182&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/298148782806281182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/298148782806281182'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/sort-table-randomly.html' title='sort table randomly'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-860972772923398773</id><published>2009-04-21T20:18:00.004+10:00</published><updated>2009-04-21T20:29:00.339+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transact-SQL'/><title type='text'>identity_insert</title><content type='html'>&lt;span style="font-family:arial;"&gt;The following example shows you on how to insert explicit value into the identity column of a table:&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt; identity_insert [MyModuleElement] &lt;span style="color:blue;"&gt;on&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Insert into MyModuleElement&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;(intID, strName, strDescription, intControllerID)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Values&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;(48, &lt;span style="color:green;"&gt;'test name', 'desc', 46)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;set&lt;/span&gt; identity_insert [MyModuleElement] off&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-860972772923398773?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/860972772923398773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=860972772923398773&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/860972772923398773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/860972772923398773'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/identityinsert.html' title='identity_insert'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-2469273359305038014</id><published>2009-04-21T20:09:00.001+10:00</published><updated>2009-04-21T20:12:52.055+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Get the current page name in javascript</title><content type='html'>&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;script type=&lt;span style="color:#a31515;"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        var sPath = window.location.pathname;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        var sPage = sPath.substring(sPath.lastIndexOf(&lt;span style="color:green;"&gt;'/') + 1);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        alert(sPage);&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;script&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.rgagnon.com/jsdetails/js-0085.html"&gt;&lt;span style="font-family:arial;"&gt;Get the current page name&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-2469273359305038014?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/2469273359305038014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=2469273359305038014&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2469273359305038014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2469273359305038014'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/get-current-page-name-in-javascript.html' title='Get the current page name in javascript'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-6806944461556662266</id><published>2009-04-21T19:45:00.003+10:00</published><updated>2009-04-21T20:07:00.484+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Javascript refresh page</title><content type='html'>&lt;span style="font-family:arial;"&gt;If you want to use javascript to refresh the page, you can use&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;location.reload(); =&gt; post request, same as click the refresh button on the browser&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;window.location=window.location; =&gt; get request&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;self.location=self.location; =&gt; get request&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;"&gt;If you want to use javascript to redirect to another page, you can use&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;location.replace('webform1.aspx'); =&gt; get request, does not create a history entry so browser back button disabled if no history before&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;location.href='webform1.aspx'; =&gt; get request, create a history entry so browser back button works&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;window.location='webform1.aspx'; =&gt; get request, create a history entry so browser back button works&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;IE buttons&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Back button =&gt; get request&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Forward button =&gt; post request&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Refresh button =&gt; post request&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;If you get an IE error saying 'To display the webpage again, Internet Explorer needs to resend the information you've previously submitted', you can use window.location=window.location; to refresh the page instead of location.reload(); &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Sample code:&lt;/span&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%@ Page Language=&lt;span style="color:#a31515;"&gt;"vb"&lt;/span&gt; AutoEventWireup=&lt;span style="color:#a31515;"&gt;"false"&lt;/span&gt; CodeBehind=&lt;span style="color:#a31515;"&gt;"Default.aspx.vb"&lt;/span&gt; &lt;span style="color:blue;"&gt;Inherits&lt;/span&gt;=&lt;span style="color:#a31515;"&gt;"PostMethod_Test._Default"&lt;/span&gt; %&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;!DOCTYPE html &lt;span style="color:blue;"&gt;PUBLIC&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;html xmlns=&lt;span style="color:#a31515;"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;head runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &amp;lt;title&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;title&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;head&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &amp;lt;form id=&lt;span style="color:#a31515;"&gt;"form1"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &amp;lt;asp:Literal ID=&lt;span style="color:#a31515;"&gt;"litJavascript"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:Literal&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            Post:&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &amp;lt;asp:TextBox ID=&lt;span style="color:#a31515;"&gt;"txt"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:TextBox&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                Post Method:&amp;lt;asp:Button ID=&lt;span style="color:#a31515;"&gt;"btnPost"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"PostBack"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &amp;lt;hr /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            Redirect:&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt; Method:&amp;lt;asp:Button ID=&lt;span style="color:#a31515;"&gt;"btnRedirect"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"ResponseRedirect"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt; Method:&amp;lt;a href=&lt;span style="color:#a31515;"&gt;"javascript:location.replace('webform1.aspx');"&lt;/span&gt;&amp;gt;JS Location Replace&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;a&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                (does &lt;span style="color:blue;"&gt;not&lt;/span&gt; create a history entry so browser back button disabled &lt;span style="color:blue;"&gt;if&lt;/span&gt; no history before)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt; Method:&amp;lt;a href=&lt;span style="color:#a31515;"&gt;"javascript:location.href='webform1.aspx';"&lt;/span&gt;&amp;gt;JS Location Href&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;a&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                (create a history entry so browser back button works)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt; Method:&amp;lt;a href=&lt;span style="color:#a31515;"&gt;"javascript:window.location='webform1.aspx';"&lt;/span&gt;&amp;gt;JS Window Location&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;a&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                (create a history entry so browser back button works)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt; Method: IE Back button&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                Post Method: IE Forward button&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &amp;lt;hr /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            Refresh:&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt;/Post Method:&amp;lt;a href=&lt;span style="color:#a31515;"&gt;"javascript:location.reload();"&lt;/span&gt;&amp;gt;JS Location Reload&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;a&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt; (&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                there &lt;span style="color:blue;"&gt;is&lt;/span&gt; any control &lt;span style="color:blue;"&gt;in&lt;/span&gt; the form &lt;span style="color:blue;"&gt;then&lt;/span&gt; after the form was submitted &lt;span style="color:blue;"&gt;for&lt;/span&gt; the first&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                time, &lt;span style="color:blue;"&gt;if&lt;/span&gt; you click this, it will be a post method coming &lt;span style="color:blue;"&gt;with&lt;/span&gt; the IE alert)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt; Method:&amp;lt;a href=&lt;span style="color:#a31515;"&gt;"javascript:window.location=window.location;"&lt;/span&gt;&amp;gt;JS Window Location&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;a&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                (does &lt;span style="color:blue;"&gt;not&lt;/span&gt; create a history entry) (&lt;span style="color:blue;"&gt;if&lt;/span&gt; there &lt;span style="color:blue;"&gt;is&lt;/span&gt; any control &lt;span style="color:blue;"&gt;in&lt;/span&gt; the form &lt;span style="color:blue;"&gt;then&lt;/span&gt; after&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                the form was submitted &lt;span style="color:blue;"&gt;for&lt;/span&gt; the first time, &lt;span style="color:blue;"&gt;if&lt;/span&gt; you click this, it will still be a&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;get&lt;/span&gt; method which means the form will &lt;span style="color:blue;"&gt;not&lt;/span&gt; be submitted again)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt; Method:&amp;lt;a href=&lt;span style="color:#a31515;"&gt;"javascript:self.location=self.location;"&lt;/span&gt;&amp;gt;JS Self Location&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;a&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                (Same &lt;span style="color:blue;"&gt;as&lt;/span&gt; above)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                &lt;span style="color:blue;"&gt;Get&lt;/span&gt;/Post Method: IE Refresh button - same &lt;span style="color:blue;"&gt;as&lt;/span&gt; location.reload()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &amp;lt;hr /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            Open &lt;span style="color:blue;"&gt;New&lt;/span&gt; Window:&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                No Method:&amp;lt;a href=&lt;span style="color:#a31515;"&gt;"javascript:var a = window.open('webform1.aspx');"&lt;/span&gt;&amp;gt;JS Window Open&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;a&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                (just open)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                Post Method &lt;span style="color:blue;"&gt;for&lt;/span&gt; parent page:&amp;lt;asp:Button ID=&lt;span style="color:#a31515;"&gt;"btnOpen"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"Open Window"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;form&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;body&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;html&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Partial&lt;/span&gt; &lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; _Default&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;Inherits&lt;/span&gt; System.Web.UI.Page&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;Protected&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Page_Load(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; &lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Load&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; btnRedirect_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; btnRedirect.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        Response.Redirect(&lt;span style="color:#a31515;"&gt;"Default.aspx"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; btnPost_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; btnPost.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; btnOpen_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; btnOpen.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; mstrMessage &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StringBuilder(&lt;span style="color:#a31515;"&gt;""&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        mstrMessage.AppendFormat(&lt;span style="color:#a31515;"&gt;"&amp;lt;script type=""text/javascript"" &amp;gt;{0}"&lt;/span&gt;, ControlChars.CrLf)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        mstrMessage.AppendFormat(&lt;span style="color:#a31515;"&gt;" window.open(""webform1.aspx"");{0}"&lt;/span&gt;, ControlChars.CrLf)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        mstrMessage.AppendFormat(&lt;span style="color:#a31515;"&gt;" &amp;lt;/script&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        litJavascript.Text = mstrMessage.ToString&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-6806944461556662266?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/6806944461556662266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=6806944461556662266&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/6806944461556662266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/6806944461556662266'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/javascript-refresh-page.html' title='Javascript refresh page'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-4638338151509368620</id><published>2009-04-17T23:44:00.003+10:00</published><updated>2009-04-17T23:51:10.843+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='System Admin'/><title type='text'>Reasons to Use Proxy Server</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;"&gt;Increased internet security since:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Users are authenticated&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Client requests are filtered&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;All content, inbound and outbound, is validated&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;All access is logged&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;All of the internal network details are hidden&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;Internet access performance is improved&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-4638338151509368620?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/4638338151509368620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=4638338151509368620&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4638338151509368620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4638338151509368620'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/reasons-to-use-proxy-server.html' title='Reasons to Use Proxy Server'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-2928511585835462651</id><published>2009-04-12T11:16:00.003+10:00</published><updated>2009-04-15T09:36:46.547+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Create a screenshot image of a web page</title><content type='html'>&lt;span style="font-family:arial;"&gt;I use HtmlCapture to capture a screenshot of a web page:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; HtmlCapture&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Module&lt;/span&gt; Module1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Main()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;CreatePreviewImage()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; CreatePreviewImage()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; theURL &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = "&lt;span style="color:#a31515;"&gt;&lt;a href="http://www.google.com.au/"&gt;http://www.google.com.au/&lt;/a&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; snap &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; SnapShooter&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; snapResult &lt;span style="color:blue;"&gt;As&lt;/span&gt; HtmlCaptureResult&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snap.SetRegInfo(&lt;span style="color:#a31515;"&gt;"username"&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;"licencekey"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snap.SetDelayTime(6000)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snap.SetTimeOut(15000)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snap.SetMinBrowserSize(SnapDimensions.BrowserWidth, SnapDimensions.BrowserHeight)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snap.SetClipRect(0, 0, SnapDimensions.ClipWidth, SnapDimensions.ClipHeight)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snap.SetThumbSize(SnapDimensions.ThumbWidth, SnapDimensions.ThumbHeight, &lt;span style="color:blue;"&gt;True&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snap.SetJpegQuality(&lt;span style="color:blue;"&gt;CByte&lt;/span&gt;(SnapDimensions.JpegQuality))&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snapResult = snap.SnapUrl(theURL)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; snapResult = HtmlCaptureResult.HCR_SUCCESS &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' success, save the image as a JPEG &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;snap.SaveImage(&lt;span style="color:#a31515;"&gt;"screenshot.jpg"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' timeout, so throw error&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; Exception(&lt;span style="color:#a31515;"&gt;"Timeout on capturing."&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Throw&lt;/span&gt; ex&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Enum&lt;/span&gt; SnapDimensions &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ThumbWidth = 200&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ThumbHeight = 150&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;BrowserWidth = 1024&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;BrowserHeight = 768&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ClipWidth = 1024&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ClipHeight = 768&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;JpegQuality = 70&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Enum&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Module&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Reference:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.polestarsoft.com/support.php"&gt;HtmlCapture Support&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-2928511585835462651?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/2928511585835462651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=2928511585835462651&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2928511585835462651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2928511585835462651'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/create-screenshot-image-of-web-page.html' title='Create a screenshot image of a web page'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-2766243825925388132</id><published>2009-04-12T10:57:00.003+10:00</published><updated>2009-04-12T11:07:42.002+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Clear form values</title><content type='html'>&lt;span style="font-family:arial;"&gt;The following code will clear values entered in the form, currently only works with drop down list and textbox, you can expand it to cater for more controls.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; btnClear_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; btnClear.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ClearValues(&lt;span style="color:blue;"&gt;Me&lt;/span&gt;.FindControl(&lt;span style="color:#a31515;"&gt;"MyControlID"&lt;/span&gt;))&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; ClearValues(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; container &lt;span style="color:blue;"&gt;As&lt;/span&gt; Control)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; ctl &lt;span style="color:blue;"&gt;As&lt;/span&gt; Control &lt;span style="color:blue;"&gt;In&lt;/span&gt; container.Controls&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; textBox &lt;span style="color:blue;"&gt;As&lt;/span&gt; TextBox = &lt;span style="color:blue;"&gt;TryCast&lt;/span&gt;(ctl, TextBox)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; textBox &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; textBox.Text.Trim().Length &amp;lt;&amp;gt; 0 &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;textBox.Text = &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; &lt;span style="color:blue;"&gt;TypeOf&lt;/span&gt; ctl &lt;span style="color:blue;"&gt;Is&lt;/span&gt; UI.WebControls.DropDownList &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; ddl &lt;span style="color:blue;"&gt;As&lt;/span&gt; UI.WebControls.DropDownList = &lt;span style="color:blue;"&gt;DirectCast&lt;/span&gt;(ctl, UI.WebControls.DropDownList)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; li &lt;span style="color:blue;"&gt;As&lt;/span&gt; ListItem = ddl.Items.FindByText(&lt;span style="color:#a31515;"&gt;"(none)"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; li &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ddl.SelectedValue = li.Value&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;li = ddl.Items.FindByText(&lt;span style="color:#a31515;"&gt;"Select"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; li &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ddl.SelectedValue = li.Value&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; ctl.Controls.Count &amp;gt; 0 &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ClearValues(ctl)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-2766243825925388132?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/2766243825925388132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=2766243825925388132&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2766243825925388132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2766243825925388132'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/clear-form-values.html' title='Clear form values'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-7281233384467355641</id><published>2009-04-12T10:48:00.002+10:00</published><updated>2009-04-12T10:53:16.776+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Save a CSV File in Browser</title><content type='html'>&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; lbCSVTemplate_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; lbCSVTemplate.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; File.Exists(Server.MapPath(&lt;span style="color:#a31515;"&gt;"~/CSVUploaded/template.csv"&lt;/span&gt;)) &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.ContentType = &lt;span style="color:#a31515;"&gt;"text/csv"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'Some browsers open the file directly in browser, so this will cause a file "Save as" dialogue to appear.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.AppendHeader(&lt;span style="color:#a31515;"&gt;"Content-Disposition"&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;"attachment; filename=template.csv"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.TransmitFile(Server.MapPath(&lt;span style="color:#a31515;"&gt;"~/CSVUploaded/template.csv"&lt;/span&gt;))&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.End()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lblMsg.Text = MessagesDAL.Instance.Get_MessageByID(Messages.MessageCodes.CSVTemplateNotAvailable)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lblMsg.ForeColor = Drawing.Color.Red&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.west-wind.com/Weblog/posts/76293.aspx"&gt;&lt;span style="font-family:arial;"&gt;Downloading a File with a Save As Dialog in ASP.NET&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-7281233384467355641?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/7281233384467355641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=7281233384467355641&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7281233384467355641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7281233384467355641'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/save-file-in-browser.html' title='Save a CSV File in Browser'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-651759495263019904</id><published>2009-04-10T17:14:00.007+10:00</published><updated>2009-04-10T18:26:18.209+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Miscellaneous'/><title type='text'>robocopy</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;robocopy, or "Robust File Copy", is a command-line directory replication command. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;It was available as part of the Windows Resource Kit, and introduced as a standard feature of Windows Vista and Windows Server 2008.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Robocopy is notable for capabilities above and beyond the built-in Windows copy and xcopy commands.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;You can script the commands and save them as .cmd files to deploy asp.net files to staging site or live site.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Command Examples:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Copy test.dll from bin folder under folder1 to bin folder under folder2, if test.dll has already existed in folder2, then it will be overwritten. It will not delete any files in folder2 which do not extist in folder1.&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;color:#000099;"&gt;&lt;strong&gt;robocopy C:\folder1\bin C:\folder2\bin test.dll&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Copy content from test to test, including subfolders, excludes folders named .svn, excludes files with .vb extension. If test folder does not exist in folder2, it will create one for you. &lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;robocopy C:\folder1\test C:\folder2\test /S /XD .svn /XF *.vb&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:#000099;"&gt;&lt;span style="color:#000000;"&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Create test folder only &lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;robocopy C:\folder1\test C:\folder2\test /xf *.*&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;&lt;/ul&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Robocopy"&gt;robocopy&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-651759495263019904?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/651759495263019904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=651759495263019904&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/651759495263019904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/651759495263019904'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/robocopy.html' title='robocopy'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-8129235698893344983</id><published>2009-04-10T12:25:00.002+10:00</published><updated>2009-04-10T12:36:16.676+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transact-SQL'/><title type='text'>Disable Table Constraints</title><content type='html'>&lt;span style="font-family:arial;"&gt;The following code will:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Disable/Enable All Table Constraints&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. if you have an user table and an UserLog table, UserLog have a foreign key which reference the UserID in the user table.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Now you can disable the foreign key Constraint on the UserLog table and insert a userid which does not exist in the user table into the UserLog table. After that you can enable the constraint.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;CREATE PROCEDURE [dbo].[procDisableEnableAllTableConstraints]&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;@TblName VARCHAR(128),&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;@IsCheck BIT = 1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;AS&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @SQLState VARCHAR(500)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;IF&lt;/span&gt; @IsCheck = 0&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;BEGIN&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;SET&lt;/span&gt; @SQLState = &lt;span style="color:green;"&gt;'ALTER TABLE [' + @TblName + '] NOCHECK CONSTRAINT ALL'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;END&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;ELSE&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;BEGIN&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;SET&lt;/span&gt; @SQLState = &lt;span style="color:green;"&gt;'ALTER TABLE [' + @TblName + '] CHECK CONSTRAINT ALL'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;END&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;EXEC (@SQLState)&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Shared&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; DisableEnableAllTableConstraints(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; tableName &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; isCheck &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; dbCon &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; SqlConnection(clsConfig.BaseConnectionString)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        dbCon.Open()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; cmd &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; SqlCommand(&lt;span style="color:#a31515;"&gt;"[procDisableEnableAllTableConstraints]"&lt;/span&gt;, dbCon)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        cmd.CommandType = CommandType.StoredProcedure&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        cmd.Parameters.AddWithValue(&lt;span style="color:#a31515;"&gt;"@TblName"&lt;/span&gt;, tableName)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        cmd.Parameters.AddWithValue(&lt;span style="color:#a31515;"&gt;"@IsCheck"&lt;/span&gt;, IIf(isCheck, 1, 0))&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            cmd.ExecuteNonQuery()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:blue;"&gt;Throw&lt;/span&gt; (ex)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Finally&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            dbCon.Close()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=303&amp;amp;lngWId=5"&gt;&lt;span style="font-family:arial;"&gt;Stored Procedure to Disable/Reenable All Constraints on a Given Table&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-8129235698893344983?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/8129235698893344983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=8129235698893344983&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8129235698893344983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8129235698893344983'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/disable-table-constraints.html' title='Disable Table Constraints'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1067542296855063667</id><published>2009-04-08T17:31:00.001+10:00</published><updated>2009-04-08T17:33:28.205+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Get Client IP address</title><content type='html'>&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Shared&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetClientIPAddress() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; strIpAddress &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            strIpAddress = HttpContext.Current.Request.ServerVariables(&lt;span style="color:#a31515;"&gt;"HTTP_X_FORWARDED_FOR"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:blue;"&gt;If&lt;/span&gt; strIpAddress = &lt;span style="color:#a31515;"&gt;""&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;                strIpAddress = HttpContext.Current.Request.ServerVariables(&lt;span style="color:#a31515;"&gt;"REMOTE_ADDR"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Catch&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;            strIpAddress = &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;        &lt;span style="color:blue;"&gt;Return&lt;/span&gt; strIpAddress&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;    &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1067542296855063667?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1067542296855063667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1067542296855063667&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1067542296855063667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1067542296855063667'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/get-client-ip-address.html' title='Get Client IP address'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1960946481179753732</id><published>2009-04-05T12:03:00.006+10:00</published><updated>2009-04-15T14:42:27.818+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Custom Validator</title><content type='html'>&lt;span style="font-family:arial;"&gt;In the following example:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Required field validator for drop down list&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Validate if any of the txtPostcode, txtSuburb, ddlCountry is filled in, then txtAddress is required. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;ValidateEmptyText property is important for the validator to work&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%@ Page Language=&lt;span style="color:#a31515;"&gt;"vb"&lt;/span&gt; AutoEventWireup=&lt;span style="color:#a31515;"&gt;"false"&lt;/span&gt; CodeBehind=&lt;span style="color:#a31515;"&gt;"Default.aspx.vb"&lt;/span&gt; &lt;span style="color:blue;"&gt;Inherits&lt;/span&gt;=&lt;span style="color:#a31515;"&gt;"CustomValidator._Default"&lt;/span&gt; %&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;!DOCTYPE html &lt;span style="color:blue;"&gt;PUBLIC&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;html xmlns=&lt;span style="color:#a31515;"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;head runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;title&amp;gt;Untitled Page&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;title&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;script language=&lt;span style="color:#a31515;"&gt;"javascript"&lt;/span&gt; type=&lt;span style="color:#a31515;"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt; cv_Validate(source, args)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var txtPostcode = document.getElementById(&lt;span style="color:#a31515;"&gt;"&amp;lt;%=txtPostcode.ClientID %&amp;gt;"&lt;/span&gt;).value;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var txtSuburb = document.getElementById(&lt;span style="color:#a31515;"&gt;"&amp;lt;%=txtSuburb.ClientID %&amp;gt;"&lt;/span&gt;).value;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var ddlCountry = document.getElementById(&lt;span style="color:#a31515;"&gt;"&amp;lt;%=ddlCountry.ClientID %&amp;gt;"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;//alert(ddlCountry.selectedIndex);&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (txtPostcode.length &amp;gt; 0 txtSuburb.length &amp;gt; 0 ddlCountry.selectedIndex &amp;gt; 0)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; (args.Value.length &amp;lt;= 0) &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;args.IsValid = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;args.IsValid = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;args.IsValid = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt; ValidateDropDown(source, arguments) {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var ddlCountry = document.getElementById(&lt;span style="color:#a31515;"&gt;"&amp;lt;%=ddlCountry.ClientID %&amp;gt;"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (null != ddlCountry) {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;var iValue = &lt;span style="color:blue;"&gt;new&lt;/span&gt; Number(ddlCountry[ddlCountry.selectedIndex].value);&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;arguments.IsValid = (iValue &amp;gt; 0);&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt; {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;arguments.IsValid = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;script&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;head&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;form id=&lt;span style="color:#a31515;"&gt;"form1"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:TextBox ID=&lt;span style="color:#a31515;"&gt;"txtAddress"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Width=&lt;span style="color:#a31515;"&gt;"290px"&lt;/span&gt; CssClass=&lt;span style="color:#a31515;"&gt;"clsNormal"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:TextBox&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:CustomValidator ID=&lt;span style="color:#a31515;"&gt;"CustomValidator4"&lt;/span&gt; ControlToValidate=&lt;span style="color:#a31515;"&gt;"txtAddress"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"Address Required!"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ClientValidationFunction=&lt;span style="color:#a31515;"&gt;"cv_Validate"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Display=&lt;span style="color:#a31515;"&gt;"Dynamic"&lt;/span&gt; ValidateEmptyText=&lt;span style="color:#a31515;"&gt;"true"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:TextBox ID=&lt;span style="color:#a31515;"&gt;"txtSuburb"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Width=&lt;span style="color:#a31515;"&gt;"290px"&lt;/span&gt; CssClass=&lt;span style="color:#a31515;"&gt;"clsNormal"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:TextBox&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:TextBox ID=&lt;span style="color:#a31515;"&gt;"txtPostcode"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Width=&lt;span style="color:#a31515;"&gt;"290px"&lt;/span&gt; CssClass=&lt;span style="color:#a31515;"&gt;"clsNormal"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:TextBox&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:DropDownList ID=&lt;span style="color:#a31515;"&gt;"ddlCountry"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; CssClass=&lt;span style="color:#a31515;"&gt;"clsNormal"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:ListItem Text=&lt;span style="color:#a31515;"&gt;"Select"&lt;/span&gt; Value=&lt;span style="color:#a31515;"&gt;"0"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:ListItem&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:ListItem Text=&lt;span style="color:#a31515;"&gt;"Aus"&lt;/span&gt; Value=&lt;span style="color:#a31515;"&gt;"1"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:ListItem&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:ListItem Text=&lt;span style="color:#a31515;"&gt;"NZ"&lt;/span&gt; Value=&lt;span style="color:#a31515;"&gt;"2"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:ListItem&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:DropDownList&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:CustomValidator ID=&lt;span style="color:#a31515;"&gt;"CustomValidator1"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; ClientValidationFunction=&lt;span style="color:#a31515;"&gt;"ValidateDropDown"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ErrorMessage=&lt;span style="color:#a31515;"&gt;"*"&lt;/span&gt; ForeColor=&lt;span style="color:#a31515;"&gt;"Red"&lt;/span&gt; Display=&lt;span style="color:#a31515;"&gt;"Dynamic"&lt;/span&gt;&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;asp:CustomValidator&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:Button ID=&lt;span style="color:#a31515;"&gt;"btnSubmit"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"Submit"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;form&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;body&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;html&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.netomatix.com/Development/DropDownCustomValidator.aspx"&gt;&lt;span style="font-family:arial;"&gt;Custom Validator On DropdownList Control&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1960946481179753732?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1960946481179753732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1960946481179753732&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1960946481179753732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1960946481179753732'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/custom-validator.html' title='Custom Validator'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-492599273665154615</id><published>2009-04-04T11:24:00.003+11:00</published><updated>2009-04-04T11:56:47.406+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>JavaScript Events</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;"&gt;onblur Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The onblur event occurs when an object loses focus.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. Make input uppercase.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: button, checkbox, fileUpload, layer, frame, password, radio, reset, submit, text, textarea, window&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;onkeydown Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The onkeydown event occurs when a keyboard key is pressed.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. user cannot type numbers into the input field&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: document, image, link, textarea, text&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;onfocus Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The onfocus event occurs when an object gets focus.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. make the background color of the input fields change when they get focus.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: button, checkbox, fileUpload, layer, frame, password, radio, reset, select, submit, text, textarea, window&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;onkeypress Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The onkeydown event occurs when a keyboard key is pressed or held down.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. user cannot type numbers into the input field&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: document, image, link, textarea, text&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;ondblclick Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The ondblclick event occurs when an object gets double-clicked.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. Copy field A's text to field B when a button gets double-clicked.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: button, document, link&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;onmouseover Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The onmouseover event occurs when the mouse pointer moves over a specified object.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. display an alert box when the user moves the mouse pointer over an image.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: layer, link, image&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;onmouseout Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The onmouseout event occurs when the mouse pointer moves away from a specified object.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. display an alert box when the user moves the mouse pointer away from an image.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: layer, link, image&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;onmousedown Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The onmousedown event occurs when a mouse button is clicked.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. an alert box is displayed when clicking on an image.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: button, document, link, image&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;onmouseup Event&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The onmouseup event occurs when a mouse button is released.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;E.g. an alert box is displayed when the mouse button is released after clicking an image.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Applies to: button, document, link, image&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.w3schools.com/jsref/jsref_events.asp"&gt;&lt;span style="font-family:arial;"&gt;JavaScript Event Reference&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-492599273665154615?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/492599273665154615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=492599273665154615&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/492599273665154615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/492599273665154615'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/javascript-events.html' title='JavaScript Events'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-2365531680196991510</id><published>2009-04-03T16:48:00.003+11:00</published><updated>2009-04-09T17:24:05.300+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Print web page as PDF in VB.NET</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;"&gt;I use &lt;/span&gt;&lt;a href="http://www.websupergoo.com/products.htm#pd"&gt;&lt;span style="font-family:arial;"&gt;ABCpdf .NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; to print web page as pdf:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Add reference ABCpdf.dll&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Render web page in pdf in landscape or portrait format&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Write pdf to browser or save to disk&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Save HTML as pdf or save the whole web page as pdf by given URL&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%@ Page Language=&lt;span style="color:#a31515;"&gt;"vb"&lt;/span&gt; AutoEventWireup=&lt;span style="color:#a31515;"&gt;"false"&lt;/span&gt; CodeBehind=&lt;span style="color:#a31515;"&gt;"Default.aspx.vb"&lt;/span&gt; &lt;span style="color:blue;"&gt;Inherits&lt;/span&gt;=&lt;span style="color:#a31515;"&gt;"PrintToPDF._Default"&lt;/span&gt; %&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;!DOCTYPE html &lt;span style="color:blue;"&gt;PUBLIC&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;html xmlns=&lt;span style="color:#a31515;"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt; &amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;head runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;title&amp;gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;title&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;head&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;form id=&lt;span style="color:#a31515;"&gt;"form1"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:Button ID=&lt;span style="color:#a31515;"&gt;"btnWriteToBrowserByHTML"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"Write To Browser By HTML"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:Button ID=&lt;span style="color:#a31515;"&gt;"btnWriteToDiskByHTML"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"Write To Disk By HTML"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:Button ID=&lt;span style="color:#a31515;"&gt;"btnWriteToBrowserByURL"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"Write To Browser By URL"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:Button ID=&lt;span style="color:#a31515;"&gt;"btnWriteToDiskByURL"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; Text=&lt;span style="color:#a31515;"&gt;"Write To Disk By URL"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;div&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;form&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;body&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;html&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; WebSupergoo.ABCpdf6&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Text&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.IO&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Partial&lt;/span&gt; &lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; _Default&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Inherits&lt;/span&gt; System.Web.UI.Page&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Protected&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Page_Load(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; &lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Load&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GenerateQuoteInHTML() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; StringBuilder = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StringBuilder&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; StringWriter = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StringWriter(sb)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; hw &lt;span style="color:blue;"&gt;As&lt;/span&gt; HtmlTextWriter = &lt;span style="color:blue;"&gt;New&lt;/span&gt; HtmlTextWriter(sw)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; litTop &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; Literal&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; litTopText &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StringBuilder()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'the width on div makes the table readable in landscape format&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;litTopText.AppendLine(&lt;span style="color:#a31515;"&gt;"&amp;lt;div style='width:1300px'&amp;gt;&amp;lt;b&amp;gt;Title&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;litTop.Text = litTopText.ToString()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; litBottom &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; Literal&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; litBottomText &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StringBuilder()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;litBottomText.AppendFormat(&lt;span style="color:#a31515;"&gt;"&amp;lt;/div&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;litBottom.Text = litBottomText.ToString()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;litTop.RenderControl(hw)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;litBottom.RenderControl(hw)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; sb.ToString&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; GeneratePDF(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; source &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; exportType &lt;span style="color:blue;"&gt;As&lt;/span&gt; ExportType, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sourceType &lt;span style="color:blue;"&gt;As&lt;/span&gt; SourceType)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'set properties&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; theDoc &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; Doc&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.HtmlOptions.PageCacheEnabled = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.HtmlOptions.BrowserWidth = 0&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.HtmlOptions.ImageQuality = 101&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.MediaBox.Width = 1000&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.Rect.Width = 1000&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; theID &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; sourceType = PrintToPDF.SourceType.HTML &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'Renders a web page specified as HTML.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theID = theDoc.AddImageHtml(source)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ElseIf&lt;/span&gt; sourceType = PrintToPDF.SourceType.URL &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'Renders a web page specified by URL.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theID = theDoc.AddImageUrl(source)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'paging&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'http://www.websupergoo.com/helppdf5/default.html?page=source%2F4-examples%2F08-landscape.htm&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Do&lt;/span&gt; &lt;span style="color:blue;"&gt;While&lt;/span&gt; &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.FrameRect()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; (theDoc.Chainable(theID) = &lt;span style="color:blue;"&gt;False&lt;/span&gt;) &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Exit&lt;/span&gt; &lt;span style="color:blue;"&gt;Do&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.Page = theDoc.AddPage()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theID = theDoc.AddImageToChain(theID)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Loop&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.HtmlOptions.LinkPages()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; x &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = 1 &lt;span style="color:blue;"&gt;To&lt;/span&gt; theDoc.PageCount&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.PageNumber = x&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.Flatten()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; exportType = PrintToPDF.ExportType.Browser &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'write to browser&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; theData &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Byte&lt;/span&gt;() = theDoc.GetData()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.Expires = -1000&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.ContentType = &lt;span style="color:#a31515;"&gt;"application/pdf"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.AddHeader(&lt;span style="color:#a31515;"&gt;"content-length"&lt;/span&gt;, theData.Length.ToString())&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; timestamp &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = &lt;span style="color:blue;"&gt;String&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;"{0}_{1}_{2}_{3}_{4}_{5}"&lt;/span&gt;, &lt;span style="color:blue;"&gt;Date&lt;/span&gt;.Now.Year.ToString, &lt;span style="color:blue;"&gt;Date&lt;/span&gt;.Now.Month.ToString, &lt;span style="color:blue;"&gt;Date&lt;/span&gt;.Now.Day.ToString, &lt;span style="color:blue;"&gt;Date&lt;/span&gt;.Now.Hour.ToString, &lt;span style="color:blue;"&gt;Date&lt;/span&gt;.Now.Minute.ToString, &lt;span style="color:blue;"&gt;Date&lt;/span&gt;.Now.Second.ToString)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.AddHeader(&lt;span style="color:#a31515;"&gt;"content-disposition"&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;"attachment; filename=MyPDF"&lt;/span&gt; + timestamp + &lt;span style="color:#a31515;"&gt;".PDF"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.BinaryWrite(theData)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.Clear()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ElseIf&lt;/span&gt; exportType = PrintToPDF.ExportType.Disk &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'write to disk&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; file &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = Path.Combine(Server.MapPath(&lt;span style="color:#a31515;"&gt;"CSVUploaded"&lt;/span&gt;), &lt;span style="color:#a31515;"&gt;"test.pdf"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theDoc.Save(file)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; btnWriteToBrowserByHTML_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; btnWriteToBrowserByHTML.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; strHTML &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = GenerateQuoteInHTML()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;GeneratePDF(strHTML, ExportType.Browser, SourceType.HTML)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; btnWriteToBrowserByURL_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; btnWriteToBrowserByURL.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;GeneratePDF(&lt;span style="color:#a31515;"&gt;"http://www.google.com.au"&lt;/span&gt;, ExportType.Browser, SourceType.URL)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; btnWriteToDiskByHTML_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; btnWriteToDiskByHTML.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; strHTML &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = GenerateQuoteInHTML()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;GeneratePDF(strHTML, ExportType.Disk, SourceType.HTML)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; btnWriteToDiskByURL_Click(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; btnWriteToDiskByURL.Click&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;GeneratePDF(&lt;span style="color:#a31515;"&gt;"http://www.google.com.au"&lt;/span&gt;, ExportType.Disk, SourceType.URL)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Enum&lt;/span&gt; SourceType&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;URL&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;HTML&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Enum&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Enum&lt;/span&gt; ExportType&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Browser&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Disk&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Enum&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.websupergoo.com/helppdf5/default.html?page=source%2F4-examples%2F08-landscape.htm"&gt;&lt;span style="font-family:arial;"&gt;ABCpdf PDF Component for ASP &amp;amp; VB&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-2365531680196991510?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/2365531680196991510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=2365531680196991510&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2365531680196991510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2365531680196991510'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/04/print-web-page-as-pdf-in-vbnet.html' title='Print web page as PDF in VB.NET'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1134186558935654247</id><published>2009-03-28T11:52:00.003+11:00</published><updated>2009-03-28T11:57:21.303+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ClientID vs. UniqueID</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;UniqueID is the fully qualified control name which is used by Asp.net for postbacks. You hardly need to use it.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;ClientID is the value that will appear in the id attribute of the control, it is a translation of the UniqueID to be a html compliant id tag (leading underscores are not really html compliant). So you need to use document.getElementById with ClientID. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://bytes.com/groups/net-asp/337859-uniqueid-vs-clientid"&gt;&lt;span style="font-family:arial;"&gt;UniqueID vs ClientID&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://dotnetslackers.com/ASP_NET/re-113573_The_difference_between_ID_ClientID_and_UniqueID.aspx"&gt;&lt;span style="font-family:arial;"&gt;The difference between ID, ClientID and UniqueID&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1134186558935654247?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1134186558935654247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1134186558935654247&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1134186558935654247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1134186558935654247'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/03/clientid-vs-uniqueid.html' title='ClientID vs. UniqueID'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-5104331820748546394</id><published>2009-03-24T17:07:00.002+11:00</published><updated>2009-03-24T17:19:10.935+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint MOSS 2007'/><title type='text'>Backup &amp; Restore Tips</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Use UNC path when doing backup and restore&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;Create a new web application as well as a site collection before restoring, so that it does not restore on the default web application (C:\Inetpub\wwwroot\wss\VirtualDirectories\80). It will now be something like C:\Inetpub\wwwroot\wss\VirtualDirectories\test.elcom.com.au&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;But before restoring, you need to delete the content database of this web application, otherwise it will prompt you with a database exists error.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;When restoring, if it says access denied to the backup folder, you need to give folder write permission to the timer service account.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;Remember local folder permission is not the same as network shared folder permission&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;Whenever you have an access denied error, check the followings: &lt;ul&gt;&lt;li&gt;Database security&lt;/li&gt;&lt;li&gt;Service account security&lt;/li&gt;&lt;li&gt;Folder security&lt;/li&gt;&lt;li&gt;Sharepoint group security&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-5104331820748546394?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/5104331820748546394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=5104331820748546394&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5104331820748546394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5104331820748546394'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/03/backup-restore-tips.html' title='Backup &amp; Restore Tips'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-4560936691062316830</id><published>2009-03-22T21:20:00.010+11:00</published><updated>2009-03-22T22:33:21.307+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint MOSS 2007'/><title type='text'>FBA: Create and enable FBA Database</title><content type='html'>&lt;span style="font-family:arial;"&gt;Steps:&lt;br /&gt;&lt;br /&gt;1. Under the C:\Windows\Microsoft.Net\Framework\v2.0.50727 folder, run aspnet_regsql -S servername -A all -E &gt; press Enter&lt;br /&gt;&lt;br /&gt;2. Go to C:\Inetpub\wwwroot\wss\VirtualDirectories\windowsauthenticationappfolder, make a copy of the web.config file and edit the web.config file&lt;br /&gt;&lt;br /&gt;3. Go to system.web tag, replace the &amp;lt;system.web&amp;gt; tag with the following:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red163\green21\blue21;}??\fs20 &lt;connectionstrings&gt;\par ??    &lt;remove name="\cf3"&gt;\par ??    &lt;add name="\cf3" connectionstring="\cf3" source="servername;Initial" catalog="aspnetdb;Integrated" security="SSPI;Persist" info="False;"&gt;\par ??  &lt;/connectionstrings&gt;\par ??  &lt;system.web&gt;\par ??    &lt;membership defaultprovider="\cf3"&gt;\par ??      &lt;providers&gt;\par ??        &lt;remove name="\cf3"&gt;\par ??        &lt;add connectionstringname="\cf3" passwordattemptwindow="\cf3" enablepasswordretrieval="\cf3" enablepasswordreset="\cf3" requiresquestionandanswer="\cf3" applicationname="\cf3" requiresuniqueemail="\cf3" passwordformat="\cf3" description="\cf3" name="\cf3" type="\cf3" version="2.0.3600.0," culture="neutral," publickeytoken="b03f5f7f11d50a3a"&gt;\par ??      &lt;/providers&gt;\par ??    &lt;/membership&gt;\par ??    &lt;rolemanager enabled="\cf3" defaultprovider="\cf3"&gt;\par ??      &lt;providers&gt;\par ??        &lt;remove name="\cf3"&gt;\par ??        &lt;remove name="\cf3"&gt;\par ??        &lt;add applicationname="\cf3" name="\cf3" type="\cf3" version="2.0.0.0," culture="neutral," publickeytoken="b03f5f7f11d50a3a"&gt;\par ??        &lt;add connectionstringname="\cf3" applicationname="\cf3" description="\cf3" name="\cf3" type="\cf3" version="2.0.3600.0," culture="neutral," publickeytoken="b03f5f7f11d50a3a"&gt;\par ??      &lt;/providers&gt;\par ??    &lt;/rolemanager&gt;\par ??} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;connectionStrings&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;remove name=&lt;span style="color:#a31515;"&gt;"AspNetSqlProvider"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;add name=&lt;span style="color:#a31515;"&gt;"AspNetSqlProvider"&lt;/span&gt; connectionString=&lt;span style="color:#a31515;"&gt;"Data Source=servername;Initial Catalog=aspnetdb;Integrated Security=SSPI;Persist Security Info=False;"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/connectionStrings&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;system.web&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;membership defaultProvider=&lt;span style="color:#a31515;"&gt;"AspNetSqlMembershipProvider"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;providers&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;remove name=&lt;span style="color:#a31515;"&gt;"AspNetSqlMembershipProvider"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;add connectionStringName=&lt;span style="color:#a31515;"&gt;"AspNetSqlProvider"&lt;/span&gt; passwordAttemptWindow=&lt;span style="color:#a31515;"&gt;"10"&lt;/span&gt; enablePasswordRetrieval=&lt;span style="color:#a31515;"&gt;"true"&lt;/span&gt; enablePasswordReset=&lt;span style="color:#a31515;"&gt;"true"&lt;/span&gt; requiresQuestionAndAnswer=&lt;span style="color:#a31515;"&gt;"false"&lt;/span&gt; applicationName=&lt;span style="color:#a31515;"&gt;"partners"&lt;/span&gt; requiresUniqueEmail=&lt;span style="color:#a31515;"&gt;"false"&lt;/span&gt; passwordFormat=&lt;span style="color:#a31515;"&gt;"Clear"&lt;/span&gt; description=&lt;span style="color:#a31515;"&gt;"Stores and retrieves membership data from the Microsoft SQL Server database"&lt;/span&gt; name=&lt;span style="color:#a31515;"&gt;"AspNetSqlMembershipProvider"&lt;/span&gt; type=&lt;span style="color:#a31515;"&gt;"System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/providers&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/membership&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;roleManager enabled=&lt;span style="color:#a31515;"&gt;"true"&lt;/span&gt; defaultProvider=&lt;span style="color:#a31515;"&gt;"AspNetSqlRoleProvider"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;providers&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;remove name=&lt;span style="color:#a31515;"&gt;"AspNetSqlRoleProvider"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;remove name=&lt;span style="color:#a31515;"&gt;"AspNetWindowsTokenRoleProvider"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;add applicationName=&lt;span style="color:#a31515;"&gt;"partners"&lt;/span&gt; name=&lt;span style="color:#a31515;"&gt;"AspNetWindowsTokenRoleProvider"&lt;/span&gt; type=&lt;span style="color:#a31515;"&gt;"System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;add connectionStringName=&lt;span style="color:#a31515;"&gt;"AspNetSqlProvider"&lt;/span&gt; applicationName=&lt;span style="color:#a31515;"&gt;"partners"&lt;/span&gt; description=&lt;span style="color:#a31515;"&gt;"Stores and retrieves roles data from the local Microsoft SQL Server database"&lt;/span&gt; name=&lt;span style="color:#a31515;"&gt;"AspNetSqlRoleProvider"&lt;/span&gt; type=&lt;span style="color:#a31515;"&gt;"System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/providers&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/roleManager&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4. Replace the &amp;lt;/configuration&amp;gt; with the following:&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red163\green21\blue21;}??\fs20   &lt;system.net&gt;\par ??    &lt;mailsettings&gt;\par ??&lt;!-- use your mail settingst here --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;system.net&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;mailSettings&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;!-- use your mail settingst here --&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;smtp deliveryMethod=&lt;span style="color:#a31515;"&gt;"Network"&lt;/span&gt; from=&lt;span style="color:#a31515;"&gt;"test@test.com"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;network host=&lt;span style="color:#a31515;"&gt;"smtp-server"&lt;/span&gt; port=&lt;span style="color:#a31515;"&gt;"25"&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/smtp&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/mailSettings&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/system.net&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/configuration&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;5. Go to C:\Inetpub\wwwroot\wss\VirtualDirectories\fbaappfolder, make a copy of the web.config file and edit the web.config file, make the same change as above.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;6. Copy the FBA tools to C:\Inetpub\wwwroot\wss\VirtualDirectories\windowsauthenticationappfolder as well as C:\Inetpub\wwwroot\wss\VirtualDirectories\fbaappfolder&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;7. Run iisreset /noforce&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;8. Go to your windows authentication site, run the FBA tools and add a user with username and password.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;9. Go to People and Groups &gt; Select the e.g. the Visitor Group &gt; New &gt; get the username just added &gt; give permission to the account &gt; click OK, so this user has been added to the windows authentication site successfully.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;10. Go to the FBA site, it shoule allow you to see the home page since we enabled the anonymous access previously.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;11. Click Sign In &gt; type in the user you have just created in the windows authentication site (default zone) &gt; Click Sign In &gt; Now you are logged in as that user &gt; you can then access the FBA tool to recover your password, it will send the password to you via email.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;12. If you encounter an error in the recover page, you can change the customErrors's mode to RemoteOnly in the web.config and run iisreset /noforce to investigate.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;13.  Go to Central Admin &gt; Application Management &gt; Application Security &gt; Authentication Providers &gt; click on Extranet &gt; uncheck Enable anonymous access &gt; click Save &gt; do the same for the default windows zone.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-4560936691062316830?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/4560936691062316830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=4560936691062316830&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4560936691062316830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4560936691062316830'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/03/fba-create-fba-database.html' title='FBA: Create and enable FBA Database'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-4523825235644491393</id><published>2009-03-22T19:47:00.004+11:00</published><updated>2009-03-22T20:17:41.772+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint MOSS 2007'/><title type='text'>FBA: Create new zone</title><content type='html'>&lt;span style="font-family:arial;"&gt;Steps:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;1. Central Admin &gt; Application Management &gt; Create or Extend Web application &gt; Extend an existing Web application &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;2. Select the web application that you want to extend &gt; Create a new IIS web site &gt; give it a description &gt; use port 80 &gt; enter Host Header (e.g. test1.elcom.com) &gt; leave the security configuration at default values &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;3. Choose the Zone (e.g. Extranet) &gt; click OK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;4. Central Admin &gt; Application Management &gt; Application Security &gt; Authentication providers &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;5. Click Extranet &gt; Change the Authentication Type to Forms &gt; Check Enable anonymous access&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;6. Fill in AspNetSqlMembershipProvider as the Membership provider name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;7. Fill in AspNetSqlRoleProvider as the Role Manager name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;8. Leave the Enable Client Integration as No. FBA does not work well with Office integration. It is because FBA relies on cookies and most users disable persistent cookies in the browser, that is the default security settings. So if you want to enable client integration in FBA, you have to enable persistent cookies on each client, if you do not do that, if you try to open a Word document in a FBA web application, you will get the FBA logon screen in Word. So we will almost always select No here. It is just too hard to get integration working with FBA.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;9. Click Save &gt; Go to Operation tab &gt; Alternate Access Mappings, you will see that it creates a mapping for extranet&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-4523825235644491393?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/4523825235644491393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=4523825235644491393&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4523825235644491393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/4523825235644491393'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/03/fba-create-new-zone.html' title='FBA: Create new zone'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-5341422886311056486</id><published>2009-03-16T17:18:00.007+11:00</published><updated>2009-04-17T17:36:40.275+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Import csv file into SQL server</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;"&gt;The following code will: &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Import csv file into database&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Validate csv file before import &lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Create Schema.ini ==&gt; Schema.ini is a information file, used to define the data structure and format of each column that contains data in the CSV file.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Check Duplicate Rows&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Check Column Header Exist&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetCSV() &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.Data.DataTable&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; ViewState(&lt;span style="color:#a31515;"&gt;"SaveLocation"&lt;/span&gt;) &lt;span style="color:blue;"&gt;Is&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; SaveLocation &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = ViewState(&lt;span style="color:#a31515;"&gt;"SaveLocation"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Using&lt;/span&gt; conn &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Data.OleDb.OleDbConnection(&lt;span style="color:#a31515;"&gt;"Provider=Microsoft.Jet.OleDb.4.0; Data Source = "&lt;/span&gt; &amp;amp; Path.GetDirectoryName(SaveLocation) &amp;amp; &lt;span style="color:#a31515;"&gt;"; Extended Properties = ""Text;HDR=YES;FMT=Delimited"""&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;conn.Open()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; strQuery &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = &lt;span style="color:#a31515;"&gt;"SELECT * FROM ["&lt;/span&gt; &amp;amp; Path.GetFileName(SaveLocation) &amp;amp; &lt;span style="color:#a31515;"&gt;"]"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; adapter &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Data.OleDb.OleDbDataAdapter(strQuery, conn)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; ds &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Data.DataSet(&lt;span style="color:#a31515;"&gt;"CSV File"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;adapter.Fill(ds)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; ds.Tables(0)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Using&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:#0000ff;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:#0000ff;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; UploadCSV() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; &lt;span style="color:blue;"&gt;Not&lt;/span&gt; Path.GetExtension(fileUploadCSV.PostedFile.FileName).ToLower.Equals(&lt;span style="color:#a31515;"&gt;".csv"&lt;/span&gt;) &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lblMsg.Text = MessagesDAL.Instance.Get_MessageByID(Messages.MessageCodes.CSVExtensionRequired)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lblMsg.ForeColor = Drawing.Color.Red&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; &lt;span style="color:blue;"&gt;Not&lt;/span&gt; fileUploadCSV.PostedFile &lt;span style="color:blue;"&gt;Is&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;And&lt;/span&gt; fileUploadCSV.PostedFile.ContentLength &amp;gt; 0 &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; fn &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = Path.GetFileName(fileUploadCSV.PostedFile.FileName)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; SaveLocation &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = Path.Combine(Server.MapPath(&lt;span style="color:#a31515;"&gt;"CSVUploaded"&lt;/span&gt;), fn)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Try&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;fileUploadCSV.PostedFile.SaveAs(SaveLocation)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;CreateSchemaFile(fn)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ViewState(&lt;span style="color:#a31515;"&gt;"SaveLocation"&lt;/span&gt;) = SaveLocation&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; Exc &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lblMsg.Text = &lt;span style="color:#a31515;"&gt;"Error: "&lt;/span&gt; &amp;amp; Exc.Message&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lblMsg.ForeColor = Drawing.Color.Red&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Else&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lblMsg.Text = MessagesDAL.Instance.Get_MessageByID(Messages.MessageCodes.UploadFileRequired)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lblMsg.ForeColor = Drawing.Color.Red&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:#0000ff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:#0000ff;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; IsColumnHeaderExist(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; columnName &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; ViewState(&lt;span style="color:#a31515;"&gt;"SaveLocation"&lt;/span&gt;) &lt;span style="color:blue;"&gt;Is&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; SaveLocation &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = ViewState(&lt;span style="color:#a31515;"&gt;"SaveLocation"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(SaveLocation)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; headerline &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = sr.ReadLine()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; values &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;values = headerline.Split(&lt;span style="color:#a31515;"&gt;","&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = 0 &lt;span style="color:blue;"&gt;To&lt;/span&gt; values.Length - 1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; values(i).ToString.Equals(columnName) &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:#0000ff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:#0000ff;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; CheckDuplicateRows() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; ViewState(&lt;span style="color:#a31515;"&gt;"SaveLocation"&lt;/span&gt;) &lt;span style="color:blue;"&gt;Is&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; SaveLocation &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = ViewState(&lt;span style="color:#a31515;"&gt;"SaveLocation"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; FileContent &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;() = File.ReadAllLines(SaveLocation)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; al &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; ArrayList()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; lineNo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = 1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'ignore the header row&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = 1 &lt;span style="color:blue;"&gt;To&lt;/span&gt; FileContent.Length - 1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;lineNo += 1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; al.Contains(FileContent(i)) &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; lineNo&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Else&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;al.Add(FileContent(i))&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; 1&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:#0000ff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:#0000ff;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; CreateSchemaFile(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; fileName &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'Create a schema.ini file to define data types for every csv file uploaded&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'Otherwise the OleDbDataAdapter will convert e.g. 01/01/09 to datetime automatically rather than string &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; strFilePath &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = Server.MapPath(&lt;span style="color:#a31515;"&gt;"CSVUploaded"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Using&lt;/span&gt; filestr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; FileStream(strFilePath &amp;amp; &lt;span style="color:#a31515;"&gt;"\schema.ini"&lt;/span&gt;, FileMode.Create, FileAccess.Write)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Using&lt;/span&gt; writer &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(filestr)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"["&lt;/span&gt; &amp;amp; fileName &amp;amp; &lt;span style="color:#a31515;"&gt;"]"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"ColNameHeader=True"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Format=CSVDelimited"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Col1=""Agent Registration Number"" Text"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Col2=""Agent Family Name"" Text"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Col3=""CPD Activity Item Number"" Long"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Col4=""CPD Activity Start Date"" Text"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Col5=""CPD Activity Start Time"" Text"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Col6=""CPD Activity End Date"" Text"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Col7=""CPD Activity End Time"" Text"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.WriteLine(&lt;span style="color:#a31515;"&gt;"Col8=Location Text"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.Close()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;writer.Dispose()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Using&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;filestr.Close()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;filestr.Dispose()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Using&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://ronaldlemmen.blogspot.com/2008/03/import-csv-file-to-datatable.html"&gt;&lt;span style="font-family:arial;"&gt;Import CSV file to DataTable&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.aspdotnetcodes.com/Importing_CSV_Database_Schema.ini.aspx"&gt;&lt;span style="font-family:arial;"&gt;Importing CSV file into Database with Schema.ini&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://dotnetguts.blogspot.com/2007/02/removing-duplicate-records-from.html"&gt;&lt;span style="font-family:arial;"&gt;Removing Duplicate Records from Dataset/DataTable&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://dotnetdud.blogspot.com/2008/10/insert-csv-file-to-array-using-c.html"&gt;&lt;span style="font-family:arial;"&gt;Insert CSV File to Array using C#&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-5341422886311056486?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/5341422886311056486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=5341422886311056486&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5341422886311056486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5341422886311056486'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/03/import-csv-file-into-sql-server.html' title='Import csv file into SQL server'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-7918256148106706541</id><published>2009-03-14T10:50:00.011+11:00</published><updated>2009-03-14T12:00:56.535+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Get the post back control</title><content type='html'>&lt;span style="font-family:arial;"&gt;You can handle all the events in Page_PreRender like this:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Page_PreRender(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; &lt;span style="color:blue;"&gt;Me&lt;/span&gt;.PreRender&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; GetPostBackControl(&lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Page) &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;AndAlso&lt;/span&gt; GetPostBackControl(&lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Page).UniqueID = ddlFolder.UniqueID &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'&amp;lt;&amp;lt;Handle Folder DropDownList Post Back&amp;gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'...&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ElseIf&lt;/span&gt; GetPostBackControl(&lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Page) &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;AndAlso&lt;/span&gt; GetPostBackControl(&lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Page).UniqueID = btnEdit.UniqueID &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'&amp;lt;&amp;lt;Handle Edit Button Post Back&amp;gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'...&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Shared&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetPostBackControl(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; page &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.Web.UI.Page) &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.Web.UI.Control&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; control &lt;span style="color:blue;"&gt;As&lt;/span&gt; Control = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; ctrlname &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = page.Request.Params(&lt;span style="color:#a31515;"&gt;"__EVENTTARGET"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; ctrlname &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;AndAlso&lt;/span&gt; ctrlname &amp;lt;&amp;gt; [String].Empty &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;control = page.FindControl(ctrlname)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Else&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;' if __EVENTTARGET is null, the control is a button type and we need to &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;' iterate over the form collection to find it &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; ctrlStr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = [String].Empty&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; c &lt;span style="color:blue;"&gt;As&lt;/span&gt; Control = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; ctl &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; &lt;span style="color:blue;"&gt;In&lt;/span&gt; page.Request.Form&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;' handle ImageButton controls ... &lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; ctl.EndsWith(&lt;span style="color:#a31515;"&gt;".x"&lt;/span&gt;) &lt;span style="color:blue;"&gt;OrElse&lt;/span&gt; ctl.EndsWith(&lt;span style="color:#a31515;"&gt;".y"&lt;/span&gt;) &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ctrlStr = ctl.Substring(0, ctl.Length - 2)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;c = page.FindControl(ctrlStr)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Else&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;c = page.FindControl(ctl)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; &lt;span style="color:blue;"&gt;TypeOf&lt;/span&gt; c &lt;span style="color:blue;"&gt;Is&lt;/span&gt; System.Web.UI.WebControls.Button &lt;span style="color:blue;"&gt;OrElse&lt;/span&gt; &lt;span style="color:blue;"&gt;TypeOf&lt;/span&gt; c &lt;span style="color:blue;"&gt;Is&lt;/span&gt; System.Web.UI.WebControls.ImageButton &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;control = c&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Exit&lt;/span&gt; &lt;span style="color:blue;"&gt;For&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; control&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Notes extracted from Peter's article:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Most ASP.NET Controls are "Server Controls". This means that when an action occurs, the Page, which hosts all its controls inside the FORM, makes a regular old HTTP POST, with itself being the target URL. This is referred to as a "POSTBACK". &lt;form...&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;For non-button server controls, ASP.Net provides the javascript __doPostBack() function to be called by the onclick or onchange event of the control. This function records the name of the object that fired the event, as well as any additional event information, places it into the hidden form fields __EVENTTARGET and __EVENTARGUMENT, and then submits the form, initiating the PostBack.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Button types &lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Button type controls DO NOT run the "__doPostBack" script method&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Button types don't populate __EVENTTARGET&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;All they actually do is SUBMIT the form.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;On the server side, any controls that implement either the IPostBackDataHandler or IPostBackEventHandler interfaces will examine the PostBack data(__EVENTTARGET, __EVENTARGUMENT) and see if they have raised the client-side event. If so, the corresponding server-side event is raised and the event handler method is called. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;The __doPostBack function:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;input type=&lt;span style="color:#a31515;"&gt;"hidden"&lt;/span&gt; name=&lt;span style="color:#a31515;"&gt;"__EVENTTARGET"&lt;/span&gt; id=&lt;span style="color:#a31515;"&gt;"__EVENTTARGET"&lt;/span&gt; value=&lt;span style="color:#a31515;"&gt;""&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;input type=&lt;span style="color:#a31515;"&gt;"hidden"&lt;/span&gt; name=&lt;span style="color:#a31515;"&gt;"__EVENTARGUMENT"&lt;/span&gt; id=&lt;span style="color:#a31515;"&gt;"__EVENTARGUMENT"&lt;/span&gt; value=&lt;span style="color:#a31515;"&gt;""&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt; __doPostBack(eventTarget, eventArgument) {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (!theForm.onsubmit (theForm.onsubmit() != &lt;span style="color:blue;"&gt;false&lt;/span&gt;)) {&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theForm.__EVENTTARGET.value = eventTarget;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theForm.__EVENTARGUMENT.value = eventArgument;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;theForm.submit();&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.eggheadcafe.com/articles/20050609.asp"&gt;&lt;span style="font-family:arial;"&gt;ASP.NET: Which Control Posted Back?&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://aspalliance.com/895_Understanding_the_JavaScript___doPostBack_Function.all"&gt;&lt;span style="font-family:arial;"&gt;Understanding the JavaScript __doPostBack Function&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-7918256148106706541?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/7918256148106706541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=7918256148106706541&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7918256148106706541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7918256148106706541'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/03/get-post-back-control.html' title='Get the post back control'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-3073406737600565708</id><published>2009-03-11T15:08:00.008+11:00</published><updated>2009-03-22T20:38:57.322+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint MOSS 2007'/><title type='text'>Form Based Authentication</title><content type='html'>&lt;span style="font-family:arial;"&gt;By default, Moss uses windows authentication. But for external users who are not part of your domain, you need to use form based authentication.&lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;&lt;br /&gt;1. Enable anonymous access on the web application, that allows you to get in and add users using FBA.&lt;br /&gt;&lt;br /&gt;2. Create a new zone for the web application by extending the current web application to another IIS web site. Each zone has a different URL that you can use to address the same web application. So you can use one URL for internal users, and a different URL for external users which can be authenticated through FBA.&lt;br /&gt;&lt;br /&gt;3. Add a DNS Host A record for the sub-domain&lt;br /&gt;&lt;br /&gt;4. Create a database to store membership&lt;br /&gt;&lt;br /&gt;5. Edit the web.config&lt;br /&gt;&lt;br /&gt;6. Add FBA tools to the web application, Microsoft does not provide the FBA tools.&lt;br /&gt;&lt;br /&gt;7. Add FBA users to the web application using the FBA tool.&lt;br /&gt;&lt;br /&gt;8. Optionally disable anonymous access. FBA usernames and passwords are entered in clear text, you will need to secure the FBA site with SSL.&lt;br /&gt;&lt;br /&gt;Create Zones&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Zones exposes the same content to different audiences&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Allow more than one address: &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.test.com/"&gt;&lt;span style="font-family:arial;"&gt;http://www.test.com/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; (Default)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.test1.com/"&gt;&lt;span style="font-family:arial;"&gt;http://www.test1.com/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; (Extranet)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Adding to DNS&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Create Host A record in DNS to provide internal access&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Create Host A record at ISP to provide external access&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Creating the FBA Database&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Use aspnet_regsql utility provided by .NET Framework&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;It creates the aspnetdb database by default, you can name it whatever you want&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;It registered that database as a membership provider on the server&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Enabling Forms Authentication&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;In order to use that database, you need to edit web.config for the web application&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Add connection settings are set in: &lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;connectionStrings tag&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;membership tag&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;roleManager tag&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;You can also add e-mail information for ASP.NET (allows the FBA tools to send out the users password if they forget it)&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;system.net tag&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;mailSettings tag&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;smtp tag&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;FBA Tools&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Not provided by Microsoft&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;You can create them yourself or obtain from third party vendors&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Adding FBA Users&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Add the users using the FBA tools&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Set the user's permissions in SharePoint&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Turning Off Anonymous Access&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Finally, when you all done setting things up, you need to disable anonymous access in general.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Anonymous is required first to add first users, it is a chicken and egg issue.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;You then use Central Admin &gt; Application Management to disable anonymous access&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-3073406737600565708?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/3073406737600565708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=3073406737600565708&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/3073406737600565708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/3073406737600565708'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/03/form-based-authentication.html' title='Form Based Authentication'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-2061074280795971410</id><published>2009-03-09T16:38:00.005+11:00</published><updated>2009-03-09T16:59:05.759+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transact-SQL'/><title type='text'>SQL server open connections exist in a database</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;"&gt;If you get a “timeout connection in the database because there are no connections available in the connection pool” error, the following queries will help you diagnose the problem:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:arial;"&gt;&lt;ul&gt;&lt;li&gt;To allow users to view current activity on the database:&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;sp_who2&lt;/span&gt;&lt;/li&gt;&lt;li&gt;To give you the total number of connections per database on a database server:&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;SELECT DB_NAME(dbid) as 'Database Name',&lt;br /&gt;COUNT(dbid) as 'Total Connections'&lt;br /&gt;FROM master.dbo.sysprocesses WITH (nolock)&lt;br /&gt;WHERE dbid &gt; 0&lt;br /&gt;GROUP BY dbid&lt;/span&gt;&lt;/li&gt;&lt;li&gt;To get the dbid from database name&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;SELECT DB_ID('MyDBName') as [Database ID]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;To give you the process Ids of existing connections in the database (not necessarily open but existing):&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;SELECT spid&lt;br /&gt;FROM master.dbo.sysprocesses WITH (nolock)&lt;br /&gt;WHERE dbid = (SELECT DB_ID('MyDBName') as [Database ID]) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;To give you information about the actual process id (replace 1018 with the spid):&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;dbcc inputbuffer (1018)&lt;/span&gt; &lt;/li&gt;&lt;li&gt;To kill a process&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;kill 1018&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Thanks Tracey.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-2061074280795971410?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/2061074280795971410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=2061074280795971410&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2061074280795971410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/2061074280795971410'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/03/sql-server-open-connections-exist-in.html' title='SQL server open connections exist in a database'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1026471881556010406</id><published>2009-02-28T10:47:00.019+11:00</published><updated>2009-04-03T16:45:17.407+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Unable to connect to the remote server</title><content type='html'>&lt;span style="font-family:arial;"&gt;I was programming a payment gateway for NAB. I construct the xml in vb.net and then send the web request of xml contenttype to the NAB payment gateway URL using the WebRequest class:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Reflection&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Web&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Net&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.IO&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Text&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; clsNABTransact&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; mstrErrorMessage &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Property&lt;/span&gt; strErrorMessage() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Get&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;strErrorMessage = mstrErrorMessage&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Set&lt;/span&gt;(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; Value &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;mstrErrorMessage = Value&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; ReadHtmlPagePost(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sURL &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sPostData &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; objResponse &lt;span style="color:blue;"&gt;As&lt;/span&gt; WebResponse&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; objRequest &lt;span style="color:blue;"&gt;As&lt;/span&gt; WebRequest&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; result &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; myWriter &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamWriter&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Try&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;objRequest = WebRequest.Create(sURL)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;objRequest.Method = &lt;span style="color:#a31515;"&gt;"POST"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;objRequest.ContentLength = sPostData.Length()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;objRequest.ContentType = &lt;span style="color:#a31515;"&gt;"text/xml"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Try&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;myWriter = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(objRequest.GetRequestStream())&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;myWriter.Write(sPostData)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;myWriter.Close()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;objResponse = objRequest.GetResponse()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(objResponse.GetResponseStream())&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;result += sr.ReadToEnd()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'clean up StreamReader&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; result&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; Ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;strErrorMessage = Ex.ToString&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; E &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;strErrorMessage = E.ToString&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;When I tested on my local, I can get the response XML from NAB with no problems. But when the client test it on their end, they get the following error:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;span style="font-family:arial;"&gt;Credit card payment unsuccessful Problem in Payment Gateway Error:System.Net.WebException: Unable to connect to the remote server ---&gt; System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it XXX.XX.XXX.XXX:XXX at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket&amp;amp; socket, IPAddress&amp;amp; address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception&amp;amp; exception) — End of inner exception stack trace — at System.Net.HttpWebRequest.GetRequestStream() at clsNABTransact.ReadHtmlPagePost(String sURL, String sPostData)() &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reason:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Cannot connet to the Remote Server (NAB), because the proxy server is blocking the your access to the NAB server.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The ISA server (proxy server) on the client side is set such that you need to be a member of a windows security group to browse the internet. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;What I tried:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;1. Firstly, I add the following in the web.config:&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;system.net&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;defaultProxy useDefaultCredentials=&lt;span style="color:#a31515;"&gt;"true"&lt;/span&gt; &amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;proxy usesystemdefault=&lt;span style="color:#a31515;"&gt;"True"&lt;/span&gt; proxyaddress=&lt;span style="color:#a31515;"&gt;"http://proxy.test.com.au:8080"&lt;/span&gt; bypassonlocal=&lt;span style="color:#a31515;"&gt;"True"&lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/defaultProxy&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/system.net&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;2. Then I got a different error says: &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Credit card payment unsuccessful Problem in Payment Gateway Error:System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required. at System.Net.HttpWebRequest.GetRequestStream() at CMDotNet.Common.clsNABTransact.ReadHtmlPagePost(String sURL, String sPostData)()&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;3. Then what I did was: on the proxy server, there’s some site that all users are able to access regardless of whether you are a member of a windows security group or not, I added the Nab URl to this allow access list.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;4. Then everything is working.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;5. But I think what the real reason is that: &lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Firstly, it says it cannot connect to the NAB server is because &lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The Network Service account is a special built in account that is local and unique to each machine. That means the Network Service account on Server A is different from the Network Service on Server B. If it is the Network Service account that running your application pool identity in IIS, it is a low access account which does not have access to the machine proxy configuration settings which are stored in the registry under HKLM keys. So you can’t get the proxy settings. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;When I added the proxy info in the web.config, the web.config tells the application where to find the proxy, then it will try to connect to the NAB URL throught the proxy server, but since Network Service is a local account, it may not have the access to the NAB URL, so you got the Proxy Authentication Required. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Then I added the URL to the access list which means everyone can access the URL. Here are the better solutions which does not require you to change the web.config: &lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;You can try to change the application pool identity to a domain account whose password never expires. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Alternatively, when you are using WebRequest, you can set WebRequest.UseDefaultCredentials or WebRequest.Credentials in the code or web.config.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Terms:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;bypassonlocal : if you do not want the proxy server computer to be used when you connect to a computer on the local network (this may speed up performance).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;usesystemdefault : if true, then it will pick up the default proxy you set in the IE. If false, then it will pick up the proxy in the control panel. My company is using a transparent proxy setting which means that you do not get to see what proxy you are using in the IE, the proxy is set in a way that it is both the default proxy and a transparent proxy.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:arial;"&gt;&lt;hr /&gt;&lt;br /&gt;If you are expericing slow connection, but finally you can connect to the internet, then you can disables automatic Proxy detection. According to Rick, the reasons it happened is because &lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;In .NET 1.1 no proxy is set, it would try to connect directly.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;.NET 2.0 uses the machine’s default proxy configuration by default. The default proxy configuration is the configuration you see in the IE proxy configuration settings.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;NETWORK SERVICE is a low access account which does not have access to the machine proxy configuration settings which are stored in the registry under HKLM keys. So you can’t get the proxy settings. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;There are two ways you can solve this:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Set usesystemdefault="false" in the web.config&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;In the code to explicitly set the Proxy property of the Http object (WebRequest, XmlDom, Web Service Client etc.) to null&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;proxy server&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;A server that sits between a client application, such as a Web browser, and a real server. It intercepts all requests to the real server to see if it can fulfill the requests itself. If not, it forwards the request to the real server. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Proxy servers have two main purposes: &lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Improve Performance&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Filter Requests&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://dotnetjunkies.com/WebLog/bikta/articles/61061.aspx"&gt;&lt;span style="font-family:arial;"&gt;Sending HttpWebRequest via firewall &amp;amp; over SSL&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://drowningintechnicaldebt.com/blogs/shawnweisfeld/archive/2007/12/03/unable-to-connect-to-the-remote-server.aspx"&gt;&lt;span style="font-family:arial;"&gt;Unable to connect to the remote server&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://west-wind.com/weblog/posts/3871.aspx"&gt;&lt;span style="font-family:arial;"&gt;Slow Http client calls from ASP.NET 2.0? Make sure you check your Proxy Settings!&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.webopedia.com/TERM/p/proxy_server.html"&gt;&lt;span style="font-family:arial;"&gt;proxy server&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://stackoverflow.com/questions/186800/is-it-possible-to-specify-proxy-credentials-in-your-web-config"&gt;&lt;span style="font-family:arial;"&gt;Is it possible to specify proxy credentials in your web.config?&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.sb2.fr/post/2008/11/29/HowTo-Use-HttpWebRequest-with-Proxy.aspx"&gt;&lt;span style="font-family:arial;"&gt;(407) proxy authentication required : Use HttpWebRequest with Proxy&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1026471881556010406?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1026471881556010406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1026471881556010406&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1026471881556010406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1026471881556010406'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/02/unable-to-connect-to-remote-server.html' title='Unable to connect to the remote server'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-3580565115915343523</id><published>2009-02-21T19:44:00.005+11:00</published><updated>2009-02-21T20:19:16.574+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Load unreferenced dll at runtime</title><content type='html'>&lt;span style="font-family:arial;"&gt;If you want to call methods in another dll which was not referenced in the current project, here is how:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; ExportXML(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; userID &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; oldPassword &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; newPassword &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Try&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; isExportXML &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = WebConfigurationManager.AppSettings(&lt;span style="color:#a31515;"&gt;"IsExportXMLWhenPasswordChanged"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; isExportXML &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;AndAlso&lt;/span&gt; isExportXML.ToLower() = &lt;span style="color:#a31515;"&gt;"yes"&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; ht &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; Hashtable&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; binPath &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = Path.Combine(HttpContext.Current.Server.MapPath(&lt;span style="color:#a31515;"&gt;"~"&lt;/span&gt;), &lt;span style="color:#a31515;"&gt;"bin\Test.Common.dll"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; myDllAssembly &lt;span style="color:blue;"&gt;As&lt;/span&gt; Assembly = Assembly.LoadFile(binPath)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; o &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt; = myDllAssembly.CreateInstance(&lt;span style="color:#a31515;"&gt;"Test.Common.ExportXML"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; objUser &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; clsUser(mstrConn)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;objUser.getData(userID)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; logon &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = objUser.strLogon&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; argstopass &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;() = &lt;span style="color:blue;"&gt;New&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;() {ht, &lt;span style="color:#a31515;"&gt;"AgentID"&lt;/span&gt;, logon}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;o.GetType.GetMethod(&lt;span style="color:#a31515;"&gt;"InsertHash"&lt;/span&gt;).Invoke(o, argstopass)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;argstopass = &lt;span style="color:blue;"&gt;New&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;() {ht, &lt;span style="color:#a31515;"&gt;"OldWebPassWord"&lt;/span&gt;, oldPassword}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;o.GetType.GetMethod(&lt;span style="color:#a31515;"&gt;"InsertHash"&lt;/span&gt;).Invoke(o, argstopass)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;argstopass = &lt;span style="color:blue;"&gt;New&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;() {ht, &lt;span style="color:#a31515;"&gt;"NewWebPassWord"&lt;/span&gt;, newPassword}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;o.GetType.GetMethod(&lt;span style="color:#a31515;"&gt;"InsertHash"&lt;/span&gt;).Invoke(o, argstopass)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; argstopass1 &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;() = &lt;span style="color:blue;"&gt;New&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;() {ht, 7}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;o.GetType.GetMethod(&lt;span style="color:#a31515;"&gt;"ExportUsingHash"&lt;/span&gt;).Invoke(o, argstopass1)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;clsLog.log(e.ToString)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Throw&lt;/span&gt; e&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.IO&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Reflection&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; ExportXML&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt;()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; ExportUsingHash(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; ht &lt;span style="color:blue;"&gt;As&lt;/span&gt; Hashtable, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; exportType &lt;span style="color:blue;"&gt;As&lt;/span&gt; ExportType)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Try&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; ht.Count &amp;lt;= 0 &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Return&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'header open&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StringBuilder()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;"&amp;lt;DataRoot&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;"&amp;lt;TestNode&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'loop content&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; item &lt;span style="color:blue;"&gt;As&lt;/span&gt; DictionaryEntry &lt;span style="color:blue;"&gt;In&lt;/span&gt; ht&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.AppendFormat(&lt;span style="color:#a31515;"&gt;"&amp;lt;{0}&amp;gt;{1}&amp;lt;/{2}&amp;gt;"&lt;/span&gt;, item.Key, item.Value, item.Key)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;"&amp;lt;/TestNode&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;"&amp;lt;/DataRoot&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'output xml&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; logFilePath &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;String&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;"{0}\Integration\{1}{2}({3}).xml"&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;HttpContext.Current.Server.MapPath(&lt;span style="color:#a31515;"&gt;"~"&lt;/span&gt;), _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;exportType.ToString(), _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;String&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;"{0:ddMMyyyyHHmmss}"&lt;/span&gt;, DateTime.Now), _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;System.Guid.NewGuid().ToString())&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Using&lt;/span&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(logFilePath, &lt;span style="color:blue;"&gt;True&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;"&amp;lt;?xml version=""1.0"" ?&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sw.Write(sb.ToString())&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sw.Close()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Using&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Throw&lt;/span&gt; ex&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'Compare object changes&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Export(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; obj_Before &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; obj_After &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; exportType &lt;span style="color:blue;"&gt;As&lt;/span&gt; ExportType, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; actionMode &lt;span style="color:blue;"&gt;As&lt;/span&gt; ActionMode)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Try&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'header open&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StringBuilder()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;"&amp;lt;DataRoot&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;"&amp;lt;TestNode&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'if add mode, add all to the xml &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; actionMode = Common.ActionMode.Add &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; obj_After &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; t2 &lt;span style="color:blue;"&gt;As&lt;/span&gt; Type = obj_After.GetType()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; p2 &lt;span style="color:blue;"&gt;As&lt;/span&gt; PropertyInfo &lt;span style="color:blue;"&gt;In&lt;/span&gt; t2.GetProperties()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;WriteContent(p2.Name, p2.GetValue(obj_After, &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;), exportType, sb, actionMode, &lt;span style="color:blue;"&gt;False&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ElseIf&lt;/span&gt; actionMode = Common.ActionMode.Edit &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'if edit mode, only add changed ones to xml&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; obj_Before &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;AndAlso&lt;/span&gt; obj_After &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; t1 &lt;span style="color:blue;"&gt;As&lt;/span&gt; Type = obj_Before.GetType()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; t2 &lt;span style="color:blue;"&gt;As&lt;/span&gt; Type = obj_After.GetType()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; p1 &lt;span style="color:blue;"&gt;As&lt;/span&gt; PropertyInfo &lt;span style="color:blue;"&gt;In&lt;/span&gt; t1.GetProperties()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; p2 &lt;span style="color:blue;"&gt;As&lt;/span&gt; PropertyInfo &lt;span style="color:blue;"&gt;In&lt;/span&gt; t2.GetProperties()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; p1.Name = p2.Name &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; IsEqual &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt; = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;IsEqual = p1.GetValue(obj_Before, &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;).Equals(p2.GetValue(obj_After, &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;))&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;WriteContent(p2.Name, p2.GetValue(obj_After, &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;), exportType, sb, actionMode, IsEqual)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Exit&lt;/span&gt; &lt;span style="color:blue;"&gt;For&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ElseIf&lt;/span&gt; actionMode = Common.ActionMode.Delete &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; obj_Before &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; t1 &lt;span style="color:blue;"&gt;As&lt;/span&gt; Type = obj_Before.GetType()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; p1 &lt;span style="color:blue;"&gt;As&lt;/span&gt; PropertyInfo &lt;span style="color:blue;"&gt;In&lt;/span&gt; t1.GetProperties()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;WriteContent(p1.Name, p1.GetValue(obj_Before, &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;), exportType, sb, actionMode, &lt;span style="color:blue;"&gt;False&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;"&amp;lt;/TestNode&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;"&amp;lt;/DataRoot&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'output xml&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; logFilePath &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;String&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;"{0}\Integration\{1}{2}({3}).xml"&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;HttpContext.Current.Server.MapPath(&lt;span style="color:#a31515;"&gt;"~"&lt;/span&gt;), _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;exportType.ToString(), _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;String&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;"{0:ddMMyyyyHHmmss}"&lt;/span&gt;, DateTime.Now), _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;System.Guid.NewGuid().ToString())&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Using&lt;/span&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(logFilePath, &lt;span style="color:blue;"&gt;True&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;"&amp;lt;?xml version=""1.0"" ?&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sw.Write(sb.ToString())&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;sw.Close()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Using&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Throw&lt;/span&gt; ex&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; InsertHash(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; ht &lt;span style="color:blue;"&gt;As&lt;/span&gt; Hashtable, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; key &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; val &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; &lt;span style="color:blue;"&gt;Not&lt;/span&gt; IsDBNull(key) &lt;span style="color:blue;"&gt;AndAlso&lt;/span&gt; key &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;ht(key) = val.ToString()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.codeproject.com/KB/cs/csharpreflection.aspx"&gt;&lt;span style="font-family:arial;"&gt;Using Reflection to load unreferenced assemblies at runtime in C#&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-3580565115915343523?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/3580565115915343523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=3580565115915343523&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/3580565115915343523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/3580565115915343523'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/02/load-unreferenced-dll-at-runtime.html' title='Load unreferenced dll at runtime'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-9206515934189040680</id><published>2009-02-15T19:13:00.010+11:00</published><updated>2009-05-19T12:58:10.182+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Javascript page redirection</title><content type='html'>&lt;span style="font-family:arial;"&gt;The following javascript will:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Create a form on the fly and send post request without using the underlying form action tag&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Post only the fields you want&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;You can put the following code in the RadEditor&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div style="BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; HEIGHT: 200px; OVERFLOW: scroll; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof936\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red163\green21\blue21;\red0\green0\blue255;\red0\green128\blue0;}??\fs18 \par ??\par ??&lt;input type="hidden" name="\cf3" value="\cf3"&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Salutation&lt;/label&gt;\par ??&lt;\cf4 select\cf0   id=\cf3 "salutation"\cf0  name=\cf3 "salutation"\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 ""\cf0 &gt;--None--&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Mr"\cf0 &gt;Mr&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Ms"\cf0 &gt;Ms&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Miss"\cf0 &gt;Miss&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Mrs"\cf0 &gt;Mrs&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Dr"\cf0 &gt;Dr&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Prof"\cf0 &gt;Prof&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Hon"\cf0 &gt;Hon&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Sir"\cf0 &gt;Sir&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Lady"\cf0 &gt;Lady&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Capt"\cf0 &gt;Capt&lt;/\cf4 option\cf0 &gt;\par ??&lt;/\cf4 select\cf0 &gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;First Name&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Last Name&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Email&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Phone&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Description&lt;/label&gt;&lt;textarea name="\cf3"&gt;&lt;/textarea&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Address&lt;/label&gt;&lt;textarea name="\cf3"&gt;&lt;/textarea&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;City&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;State/Province&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Zip&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Title&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Fax&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Mobile&lt;/label&gt;&lt;input id="\cf3" maxlength="\cf3" name="\cf3" size="\cf3" type="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Lead Source&lt;/label&gt;&lt;\cf4 select\cf0   id=\cf3 "lead_source"\cf0  name=\cf3 "lead_source"\cf0 &gt;&lt;\cf4 option\cf0  value=\cf3 ""\cf0 &gt;--None--&lt;/\cf4 option\cf0 &gt;&lt;\cf4 option\cf0  value=\cf3 "Details Referred"\cf0 &gt;Details Referred&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Direct Mail"\cf0 &gt;Direct Mail&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Display"\cf0 &gt;Display&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Email"\cf0 &gt;Email&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Event"\cf0 &gt;\cf4 Event\cf0 &lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Mobile"\cf0 &gt;Mobile&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Open House"\cf0 &gt;Open House&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Phone"\cf0 &gt;Phone&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Walk-In"\cf0 &gt;Walk-\cf4 In\cf0 &lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Website"\cf0 &gt;Website&lt;/\cf4 option\cf0 &gt;\par ??&lt;/\cf4 select\cf0 &gt;&lt;br /&gt;\par ??\par ??Project Office:&lt;\cf4 select\cf0   id=\cf3 "00N20000000lQgj"\cf0  name=\cf3 "00N20000000lQgj"\cf0  title=\cf3 "Project Office"\cf0 &gt;&lt;\cf4 option\cf0  value=\cf3 ""\cf0 &gt;--None--&lt;/\cf4 option\cf0 &gt;&lt;\cf4 option\cf0  value=\cf3 "Abervale"\cf0 &gt;Abervale&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Bingara Gorge"\cf0 &gt;Bingara Gorge&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Blakeview"\cf0 &gt;Blakeview&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Burwood Terrace"\cf0 &gt;Burwood Terrace&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Caesia Gardens"\cf0 &gt;Caesia Gardens&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Caroline Springs"\cf0 &gt;Caroline Springs&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Craigieburn"\cf0 &gt;Craigieburn&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Daikyo"\cf0 &gt;Daikyo&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Edgewater"\cf0 &gt;Edgewater&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Fiddlers Green"\cf0 &gt;Fiddlers Green&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Forest Gardens"\cf0 &gt;Forest Gardens&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Forest Hills"\cf0 &gt;Forest Hills&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Glenaeon"\cf0 &gt;Glenaeon&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Gawler East"\cf0 &gt;Gawler East&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Highvale"\cf0 &gt;Highvale&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Jacksons Landing"\cf0 &gt;Jacksons Landing&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Keperra"\cf0 &gt;Keperra&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Lakeside Pakenham"\cf0 &gt;Lakeside Pakenham&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Laurimar"\cf0 &gt;Laurimar&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Lutanda"\cf0 &gt;Lutanda&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Mawson Lakes"\cf0 &gt;Mawson Lakes&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Nelsons Grove"\cf0 &gt;Nelsons Grove&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Nelsons Ridge"\cf0 &gt;Nelsons Ridge&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Peppertree Hills"\cf0 &gt;Peppertree Hills&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Pittwater"\cf0 &gt;Pittwater&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Rochford Place"\cf0 &gt;Rochford Place&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Rocky Springs"\cf0 &gt;Rocky Springs&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Rouse Hill"\cf0 &gt;Rouse Hill&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Springfield Lakes"\cf0 &gt;Springfield Lakes&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "St Marys"\cf0 &gt;St Marys&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "St Patricks Estate"\cf0 &gt;St Patricks Estate&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Sunshine Coast"\cf0 &gt;Sunshine Coast&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "The Terraces"\cf0 &gt;The Terraces&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Trinity Green"\cf0 &gt;Trinity Green&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Varsity Lakes"\cf0 &gt;Varsity Lakes&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Victoria Harbour"\cf0 &gt;Victoria Harbour&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Woodlands"\cf0 &gt;Woodlands&lt;/\cf4 option\cf0 &gt;\par ??&lt;\cf4 option\cf0  value=\cf3 "Yarrabilba"\cf0 &gt;Yarrabilba&lt;/\cf4 option\cf0 &gt;\par ??&lt;/\cf4 select\cf0 &gt;&lt;br /&gt;\par ??\par ??&lt;label cf0 ="\cf3"&gt;Email Opt Out&lt;/label&gt;\par ??&lt;input id="\cf3" name="\cf3" type="\cf3" value="\cf3"&gt;&lt;br /&gt;\par ??\par ??&lt;input type="\cf3" onclick="\cf3" encoding="UTF-8'," value="\cf3"&gt;\par ??\par ??&lt;script type="\cf3"&gt;\par ??\par ??\cf4 Function\cf0  post_to_url(\cf4 ByVal\cf0  path, \cf4 ByVal\cf0  method)\par ??\{    \par ??\tab method = method  \cf3 "post"\cf0 ; // \cf4 Set\cf0  method \cf4 to\cf0  post by \cf4 default\cf0 , \cf4 if\cf0  \cf4 not\cf0  specified.    \par ??\tab // The rest \cf4 of\cf0  this code assumes you are \cf4 not\cf0  \cf4 using\cf0  a library.    \par ??\tab // It can be made less wordy \cf4 if\cf0  you use one.    \par ??\tab var form = document.createElement(\cf3 "form"\cf0 );    \par ??\tab form.setAttribute(\cf3 "method"\cf0 , method);    \par ??\tab form.setAttribute(\cf3 "action"\cf0 , path);    \par ??\par ??\tab var sal = document.getElementById(\cf3 "salutation"\cf0 );\par ??\tab createHidden(\cf3 "salutation"\cf0 , sal.options[sal.selectedIndex].value, form);\par ??\tab createHidden(\cf3 "first_name"\cf0 , document.getElementById(\cf5 'first_name').value, form);\par ??\cf0 \tab createHidden(\cf3 "last_name"\cf0 , document.getElementById(\cf5 'last_name').value, form);\par ??\cf0 \tab createHidden(\cf3 "email"\cf0 , document.getElementById(\cf5 'email').value, form);\par ??\cf0 \tab createHidden(\cf3 "phone"\cf0 , document.getElementById(\cf5 'phone').value, form);\par ??\cf0 \tab createHidden(\cf3 "description"\cf0 , document.getElementById(\cf5 'description').value, form);\par ??\cf0 \tab createHidden(\cf3 "street"\cf0 , document.getElementById(\cf5 'street').value, form);\par ??\cf0 \tab createHidden(\cf3 "city"\cf0 , document.getElementById(\cf5 'city').value, form);\par ??\cf0 \tab createHidden(\cf3 "state"\cf0 , document.getElementById(\cf5 'state').value, form);\par ??\cf0 \tab createHidden(\cf3 "zip"\cf0 , document.getElementById(\cf5 'zip').value, form);\par ??\cf0 \tab createHidden(\cf3 "title"\cf0 , document.getElementById(\cf5 'title').value, form);\par ??\cf0 \tab createHidden(\cf3 "fax"\cf0 , document.getElementById(\cf5 'fax').value, form);\par ??\cf0 \tab createHidden(\cf3 "mobile"\cf0 , document.getElementById(\cf5 'mobile').value, form);\par ??\cf0 \tab var lead = document.getElementById(\cf3 "lead_source"\cf0 );\par ??\tab createHidden(\cf3 "lead_source"\cf0 , lead.options[lead.selectedIndex].value, form);\par ??\tab var projOffice = document.getElementById(\cf3 "00N20000000lQgj"\cf0 );\par ??\tab createHidden(\cf3 "00N20000000lQgj"\cf0 , projOffice.options[projOffice.selectedIndex].value, form);\par ??\tab var opt = document.getElementById(\cf3 "emailOptOut"\cf0 );\par ??\tab var ischecked;\par ??\tab \cf4 if\cf0 (opt.checked)\{\par ??        ischecked = 1\par ??\tab \}\par ??\tab \cf4 else\cf0 \{\par ??        ischecked = 0\par ??\tab \}\par ??\tab createHidden(\cf3 "emailOptOut"\cf0 , ischecked, form);\par ??\par ??\tab document.body.appendChild(form);    //This \cf4 is\cf0  necessary    \par ??\tab form.submit();\par ??\}\par ??\par ??\cf4 function\cf0  createHidden(hiddenName, hiddenValue, myForm)\par ??\{\par ??\tab var hiddenField = document.createElement(\cf3 "input"\cf0 );        \par ??\tab hiddenField.setAttribute(\cf3 "type"\cf0 , \cf3 "hidden"\cf0 );        \par ??\tab hiddenField.setAttribute(\cf3 "name"\cf0 , hiddenName);        \par ??\tab hiddenField.setAttribute(\cf3 "value"\cf0 , hiddenValue);        \par ??\tab myForm.appendChild(hiddenField); \par ??\}\par ??&lt;/script&gt;\par ??} --&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.cf { font-family: Courier New; font-size: 9pt; color: black; background: white; }.cl { margin: 0px; }.cb1 { color: #a31515; }.cb2 { color: blue; }.cb3 { color: green; }&lt;/style&gt;&lt;br /&gt;&lt;div class="cf"&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;input type=hidden name=&lt;span class="cb1"&gt;"retURL"&lt;/span&gt; value=&lt;span class="cb1"&gt;"http://www.whatever.com.au/"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"salutation"&lt;/span&gt;&amp;gt;Salutation&amp;lt;/label&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;select&lt;/span&gt; id=&lt;span class="cb1"&gt;"salutation"&lt;/span&gt; name=&lt;span class="cb1"&gt;"salutation"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;""&lt;/span&gt;&amp;gt;--None--&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Mr"&lt;/span&gt;&amp;gt;Mr&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Ms"&lt;/span&gt;&amp;gt;Ms&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Miss"&lt;/span&gt;&amp;gt;Miss&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Mrs"&lt;/span&gt;&amp;gt;Mrs&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Dr"&lt;/span&gt;&amp;gt;Dr&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Prof"&lt;/span&gt;&amp;gt;Prof&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Hon"&lt;/span&gt;&amp;gt;Hon&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Sir"&lt;/span&gt;&amp;gt;Sir&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Lady"&lt;/span&gt;&amp;gt;Lady&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Capt"&lt;/span&gt;&amp;gt;Capt&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/&lt;span class="cb2"&gt;select&lt;/span&gt;&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"first_name"&lt;/span&gt;&amp;gt;First Name&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"first_name"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"40"&lt;/span&gt; name=&lt;span class="cb1"&gt;"first_name"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"last_name"&lt;/span&gt;&amp;gt;Last Name&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"last_name"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"80"&lt;/span&gt; name=&lt;span class="cb1"&gt;"last_name"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"email"&lt;/span&gt;&amp;gt;Email&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"email"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"80"&lt;/span&gt; name=&lt;span class="cb1"&gt;"email"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"phone"&lt;/span&gt;&amp;gt;Phone&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"phone"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"40"&lt;/span&gt; name=&lt;span class="cb1"&gt;"phone"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"description"&lt;/span&gt;&amp;gt;Description&amp;lt;/label&amp;gt;&amp;lt;textarea name=&lt;span class="cb1"&gt;"description"&lt;/span&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"street"&lt;/span&gt;&amp;gt;Address&amp;lt;/label&amp;gt;&amp;lt;textarea name=&lt;span class="cb1"&gt;"street"&lt;/span&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"city"&lt;/span&gt;&amp;gt;City&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"city"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"40"&lt;/span&gt; name=&lt;span class="cb1"&gt;"city"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"state"&lt;/span&gt;&amp;gt;State/Province&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"state"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"20"&lt;/span&gt; name=&lt;span class="cb1"&gt;"state"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"zip"&lt;/span&gt;&amp;gt;Zip&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"zip"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"20"&lt;/span&gt; name=&lt;span class="cb1"&gt;"zip"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"title"&lt;/span&gt;&amp;gt;Title&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"title"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"40"&lt;/span&gt; name=&lt;span class="cb1"&gt;"title"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"fax"&lt;/span&gt;&amp;gt;Fax&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"fax"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"40"&lt;/span&gt; name=&lt;span class="cb1"&gt;"fax"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"mobile"&lt;/span&gt;&amp;gt;Mobile&amp;lt;/label&amp;gt;&amp;lt;input id=&lt;span class="cb1"&gt;"mobile"&lt;/span&gt; maxlength=&lt;span class="cb1"&gt;"40"&lt;/span&gt; name=&lt;span class="cb1"&gt;"mobile"&lt;/span&gt; size=&lt;span class="cb1"&gt;"20"&lt;/span&gt; type=&lt;span class="cb1"&gt;"text"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"lead_source"&lt;/span&gt;&amp;gt;Lead Source&amp;lt;/label&amp;gt;&amp;lt;&lt;span class="cb2"&gt;select&lt;/span&gt; id=&lt;span class="cb1"&gt;"lead_source"&lt;/span&gt; name=&lt;span class="cb1"&gt;"lead_source"&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;""&lt;/span&gt;&amp;gt;--None--&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Details Referred"&lt;/span&gt;&amp;gt;Details Referred&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Direct Mail"&lt;/span&gt;&amp;gt;Direct Mail&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Display"&lt;/span&gt;&amp;gt;Display&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Email"&lt;/span&gt;&amp;gt;Email&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Event"&lt;/span&gt;&amp;gt;&lt;span class="cb2"&gt;Event&lt;/span&gt;&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Mobile"&lt;/span&gt;&amp;gt;Mobile&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Open House"&lt;/span&gt;&amp;gt;Open House&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Phone"&lt;/span&gt;&amp;gt;Phone&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Walk-In"&lt;/span&gt;&amp;gt;Walk-&lt;span class="cb2"&gt;In&lt;/span&gt;&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Website"&lt;/span&gt;&amp;gt;Website&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/&lt;span class="cb2"&gt;select&lt;/span&gt;&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;Project Office:&amp;lt;&lt;span class="cb2"&gt;select&lt;/span&gt; id=&lt;span class="cb1"&gt;"00N20000000lQgj"&lt;/span&gt; name=&lt;span class="cb1"&gt;"00N20000000lQgj"&lt;/span&gt; title=&lt;span class="cb1"&gt;"Project Office"&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;""&lt;/span&gt;&amp;gt;--None--&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Abervale"&lt;/span&gt;&amp;gt;Abervale&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Bingara Gorge"&lt;/span&gt;&amp;gt;Bingara Gorge&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Blakeview"&lt;/span&gt;&amp;gt;Blakeview&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Burwood Terrace"&lt;/span&gt;&amp;gt;Burwood Terrace&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Caesia Gardens"&lt;/span&gt;&amp;gt;Caesia Gardens&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Caroline Springs"&lt;/span&gt;&amp;gt;Caroline Springs&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Craigieburn"&lt;/span&gt;&amp;gt;Craigieburn&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Daikyo"&lt;/span&gt;&amp;gt;Daikyo&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Edgewater"&lt;/span&gt;&amp;gt;Edgewater&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Fiddlers Green"&lt;/span&gt;&amp;gt;Fiddlers Green&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Forest Gardens"&lt;/span&gt;&amp;gt;Forest Gardens&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Forest Hills"&lt;/span&gt;&amp;gt;Forest Hills&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Glenaeon"&lt;/span&gt;&amp;gt;Glenaeon&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Gawler East"&lt;/span&gt;&amp;gt;Gawler East&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Highvale"&lt;/span&gt;&amp;gt;Highvale&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Jacksons Landing"&lt;/span&gt;&amp;gt;Jacksons Landing&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Keperra"&lt;/span&gt;&amp;gt;Keperra&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Lakeside Pakenham"&lt;/span&gt;&amp;gt;Lakeside Pakenham&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Laurimar"&lt;/span&gt;&amp;gt;Laurimar&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Lutanda"&lt;/span&gt;&amp;gt;Lutanda&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Mawson Lakes"&lt;/span&gt;&amp;gt;Mawson Lakes&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Nelsons Grove"&lt;/span&gt;&amp;gt;Nelsons Grove&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Nelsons Ridge"&lt;/span&gt;&amp;gt;Nelsons Ridge&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Peppertree Hills"&lt;/span&gt;&amp;gt;Peppertree Hills&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Pittwater"&lt;/span&gt;&amp;gt;Pittwater&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Rochford Place"&lt;/span&gt;&amp;gt;Rochford Place&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Rocky Springs"&lt;/span&gt;&amp;gt;Rocky Springs&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Rouse Hill"&lt;/span&gt;&amp;gt;Rouse Hill&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Springfield Lakes"&lt;/span&gt;&amp;gt;Springfield Lakes&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"St Marys"&lt;/span&gt;&amp;gt;St Marys&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"St Patricks Estate"&lt;/span&gt;&amp;gt;St Patricks Estate&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Sunshine Coast"&lt;/span&gt;&amp;gt;Sunshine Coast&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"The Terraces"&lt;/span&gt;&amp;gt;The Terraces&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Trinity Green"&lt;/span&gt;&amp;gt;Trinity Green&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Varsity Lakes"&lt;/span&gt;&amp;gt;Varsity Lakes&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Victoria Harbour"&lt;/span&gt;&amp;gt;Victoria Harbour&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Woodlands"&lt;/span&gt;&amp;gt;Woodlands&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;&lt;span class="cb2"&gt;option&lt;/span&gt; value=&lt;span class="cb1"&gt;"Yarrabilba"&lt;/span&gt;&amp;gt;Yarrabilba&amp;lt;/&lt;span class="cb2"&gt;option&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/&lt;span class="cb2"&gt;select&lt;/span&gt;&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;label &lt;span class="cb2"&gt;for&lt;/span&gt;=&lt;span class="cb1"&gt;"emailOptOut"&lt;/span&gt;&amp;gt;Email Opt Out&amp;lt;/label&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;input id=&lt;span class="cb1"&gt;"emailOptOut"&lt;/span&gt; name=&lt;span class="cb1"&gt;"emailOptOut"&lt;/span&gt; type=&lt;span class="cb1"&gt;"checkbox"&lt;/span&gt; value=&lt;span class="cb1"&gt;"1"&lt;/span&gt; /&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;input type=&lt;span class="cb1"&gt;"button"&lt;/span&gt; onclick=&lt;span class="cb1"&gt;"post_to_url('http://www.test.com', 'post');"&lt;/span&gt; value=&lt;span class="cb1"&gt;"Submit"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;script type=&lt;span class="cb1"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;span class="cb2"&gt;function&lt;/span&gt; post_to_url(path, method)&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;{ &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;method = method &lt;span class="cb1"&gt;"post"&lt;/span&gt;; // &lt;span class="cb2"&gt;Set&lt;/span&gt; method &lt;span class="cb2"&gt;to&lt;/span&gt; post by &lt;span class="cb2"&gt;default&lt;/span&gt;, &lt;span class="cb2"&gt;if&lt;/span&gt; &lt;span class="cb2"&gt;not&lt;/span&gt; specified. &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;// The rest &lt;span class="cb2"&gt;of&lt;/span&gt; this code assumes you are &lt;span class="cb2"&gt;not&lt;/span&gt; &lt;span class="cb2"&gt;using&lt;/span&gt; a library. &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;// It can be made less wordy &lt;span class="cb2"&gt;if&lt;/span&gt; you use one. &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;var form = document.createElement(&lt;span class="cb1"&gt;"form"&lt;/span&gt;); &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;form.setAttribute(&lt;span class="cb1"&gt;"method"&lt;/span&gt;, method); &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;form.setAttribute(&lt;span class="cb1"&gt;"action"&lt;/span&gt;, path); &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;var sal = document.getElementById(&lt;span class="cb1"&gt;"salutation"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"salutation"&lt;/span&gt;, sal.options[sal.selectedIndex].value, form);&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"first_name"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'first_name').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"last_name"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'last_name').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"email"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'email').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"phone"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'phone').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"description"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'description').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"street"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'street').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"city"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'city').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"state"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'state').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"zip"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'zip').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"title"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'title').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"fax"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'fax').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"mobile"&lt;/span&gt;, document.getElementById(&lt;span class="cb3"&gt;'mobile').value, form);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;var lead = document.getElementById(&lt;span class="cb1"&gt;"lead_source"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"lead_source"&lt;/span&gt;, lead.options[lead.selectedIndex].value, form);&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;var projOffice = document.getElementById(&lt;span class="cb1"&gt;"00N20000000lQgj"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"00N20000000lQgj"&lt;/span&gt;, projOffice.options[projOffice.selectedIndex].value, form);&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;var opt = document.getElementById(&lt;span class="cb1"&gt;"emailOptOut"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;var ischecked;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;span class="cb2"&gt;if&lt;/span&gt;(opt.checked){&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;ischecked = 1&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;span class="cb2"&gt;else&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;ischecked = 0&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;createHidden(&lt;span class="cb1"&gt;"emailOptOut"&lt;/span&gt;, ischecked, form);&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;document.body.appendChild(form); //This &lt;span class="cb2"&gt;is&lt;/span&gt; necessary &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;form.submit();&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;span class="cb2"&gt;function&lt;/span&gt; createHidden(hiddenName, hiddenValue, myForm)&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;var hiddenField = document.createElement(&lt;span class="cb1"&gt;"input"&lt;/span&gt;); &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;hiddenField.setAttribute(&lt;span class="cb1"&gt;"type"&lt;/span&gt;, &lt;span class="cb1"&gt;"hidden"&lt;/span&gt;); &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;hiddenField.setAttribute(&lt;span class="cb1"&gt;"name"&lt;/span&gt;, hiddenName); &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;hiddenField.setAttribute(&lt;span class="cb1"&gt;"value"&lt;/span&gt;, hiddenValue); &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;myForm.appendChild(hiddenField); &lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/133925/javascript-post-request-like-a-form-submit"&gt;&lt;span style="font-family:arial;"&gt;Javascript Post Request like a Form Submit&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-9206515934189040680?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/9206515934189040680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=9206515934189040680&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/9206515934189040680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/9206515934189040680'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/02/javascript-send-post-request-without.html' title='Javascript page redirection'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1478652724627270895</id><published>2009-01-26T22:31:00.004+11:00</published><updated>2009-01-26T23:15:00.107+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Loop through all the text box in a form</title><content type='html'>&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div class="cf"&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;Private Function ValidateTextboxes(ByVal container As Control) As Boolean&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;For Each ctl As Control In container.Controls&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;Dim textBox = TryCast(ctl, TextBox)&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;If textBox IsNot Nothing Then&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;If textBox.Text.ToString.Trim().Length &amp;lt;&amp;gt; 0 AndAlso Not Regex.IsMatch(textBox.Text, &lt;span class="cb1"&gt;"^[a-zA-Z'.\s\d+]{1,40}$"&lt;/span&gt;) Then&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;Dim cs As ClientScriptManager = Me.ClientScript&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;cs.RegisterClientScriptBlock(Me.GetType(), &lt;span class="cb1"&gt;"ValidateFile"&lt;/span&gt;, &lt;span class="cb1"&gt;"alert('Invalid input, please try again!');"&lt;/span&gt;, True)&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;textBox.Focus()&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;Return False&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;End If&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;End If&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;If ctl.Controls.Count &amp;gt; 0 Then&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;ValidateTextboxes(ctl)&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;End If&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;Return True&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="cl"&gt;&lt;span style="font-family:arial;"&gt;End Function&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://dotnetslackers.com/Community/blogs/kaushalparik/archive/2008/05/27/recursion-method-to-clear-textboxes-in-nested-container-controls.aspx"&gt;Recursion method to clear TextBoxes in nested Container Controls&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb355989.aspx"&gt;How To: Protect From Injection Attacks in ASP.NET&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1478652724627270895?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1478652724627270895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1478652724627270895&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1478652724627270895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1478652724627270895'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2009/01/loop-all-text-box-in-form.html' title='Loop through all the text box in a form'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-3852429818114247017</id><published>2008-12-10T21:53:00.004+11:00</published><updated>2008-12-10T22:10:04.903+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Deleting subdirectory restarts AppDomain</title><content type='html'>&lt;span style="font-family:arial;"&gt;When you deletes a subfolder either manually or programatically from the application root folder of IIS, the ASP.NET runtime automatically restarts AppDomain. To fix this, we will need to turn off the folder monitoring in the Application_Start of the Global.asax.vb, this does not apply on bin folder.&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Application_Start(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; EventArgs)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;StopMonitorFolderChange()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; StopMonitorFolderChange()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; p &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.Reflection.PropertyInfo = &lt;span style="color:blue;"&gt;GetType&lt;/span&gt;(System.Web.HttpRuntime).GetProperty(&lt;span style="color:#a31515;"&gt;"FileChangesMonitor"&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;System.Reflection.BindingFlags.NonPublic &lt;span style="color:blue;"&gt;Or&lt;/span&gt; System.Reflection.BindingFlags.[Public] &lt;span style="color:blue;"&gt;Or&lt;/span&gt; System.Reflection.BindingFlags.[Static])&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; o &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt; = p.GetValue(&lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;, &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; f &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.Reflection.FieldInfo = o.[GetType]().GetField(&lt;span style="color:#a31515;"&gt;"_dirMonSubdirs"&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;System.Reflection.BindingFlags.Instance &lt;span style="color:blue;"&gt;Or&lt;/span&gt; System.Reflection.BindingFlags.NonPublic &lt;span style="color:blue;"&gt;Or&lt;/span&gt; System.Reflection.BindingFlags.IgnoreCase)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; monitor &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt; = f.GetValue(o)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; m &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.Reflection.MethodInfo = monitor.[GetType]().GetMethod(&lt;span style="color:#a31515;"&gt;"StopMonitoring"&lt;/span&gt;, _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;System.Reflection.BindingFlags.Instance &lt;span style="color:blue;"&gt;Or&lt;/span&gt; System.Reflection.BindingFlags.NonPublic)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;m.Invoke(monitor, &lt;span style="color:blue;"&gt;New&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;() {})&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a title="Permanent Link to issue C#: Delete directory kills session" href="http://www.narolainfotech.com/blog/?p=16" rel="bookmark"&gt;&lt;span style="font-family:arial;"&gt;issue C#: Delete directory kills session&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-3852429818114247017?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/3852429818114247017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=3852429818114247017&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/3852429818114247017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/3852429818114247017'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/12/deleting-subdirectory-restarts.html' title='Deleting subdirectory restarts AppDomain'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1302881601421053886</id><published>2008-12-09T21:12:00.016+11:00</published><updated>2008-12-09T22:19:44.711+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>HttpHandler</title><content type='html'>&lt;p&gt;&lt;span style="font-family:arial;"&gt;Basics&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;An HTTP Handler is a .NET class that executes whenever you make a request for a file at a certain path. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The Page class is an HTTP Handler because it implements the IHttpHandler interface.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The IsReusable property indicates whether ASP.NET can keep the handler in memory to service multiple requests, or if it must create a new instance of the handler for every request. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Unless you maintain some sort of state in the handler, which is uncommon, &lt;span style="color:#000066;"&gt;&lt;strong&gt;IsReusable should always return true.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Two ways to create an HTTP Handler: &lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Generic Handler (.ashx): you cannot execute a Generic Handler whenever someone requests a file with the extension .gif. If you need more control over when an HTTP Handler executes, create a class implements IHttpHandler.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Custom class implement the IHttpHandler interface.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Class implements IHttpHandler&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Register HTTP Handlers &amp;amp; Configure HTTPHandler Extension in IIS.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;IIS 6.0 &lt;/li&gt;&lt;ul&gt;&lt;li&gt;In the httpHandlers section of the web.config, add an entry for the file-name extension. Specify the following four attributes: &lt;/li&gt;&lt;ul&gt;&lt;li&gt;path: specify the path associated with the handler. &lt;/li&gt;&lt;li&gt;verb: specify the HTTP verbs, such as GET or POST, associated with the handler. You can specify multiple verbs in a comma-separated list. You can represent any verb with the * wildcard. &lt;/li&gt;&lt;li&gt;type: specify the name of the class that implements the handler. &lt;/li&gt;&lt;li&gt;&lt;span style="color:#000066;"&gt;&lt;strong&gt;validate: specify whether the handler is loaded during application startup.&lt;/strong&gt;&lt;/span&gt; When true, the handler is loaded at startup. When false, the handler is not loaded until a request associated with the handler is made.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;add the file extension to map to Aspnet_isapi.dll&lt;/li&gt;&lt;li&gt;Verify that file exists check box &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Check. The file-name extension represents a physical file in the application. If the requested file does not exist on disk, IIS displays an error. &lt;/li&gt;&lt;li&gt;&lt;span style="color:#000066;"&gt;&lt;strong&gt;Uncheck&lt;/strong&gt;&lt;/span&gt;. The file-name extension does not represent a physical file. Instead, the extension is handled dynamically by a class that is mapped to the extension in ASP.NET. &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;IIS 7.0 (Classic or Integrated mode) &lt;ul&gt;&lt;li&gt;Using IIS Manager in IIS 7.0 to add a custom handler extension is &lt;span style="color:#000066;"&gt;&lt;strong&gt;equivalent to&lt;/strong&gt;&lt;/span&gt; registering the handler extension in the Web.config file of an ASP.NET application. The registration adds a handler element in the handlers section of the system.webServer group. &lt;/li&gt;&lt;li&gt;In the httpHandlers section of the web.config, add an entry for the file-name extension. &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;References:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.amazon.com/ASP-NET-2-0-Unleashed-Stephen-Walther/dp/0672328232"&gt;ASP.NET 2.0 Unleashed&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb515343.aspx"&gt;How to: Configure an HTTP Handler Extension in IIS&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/46c5ddfy.aspx"&gt;How to: Register HTTP Handlers&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1302881601421053886?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1302881601421053886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1302881601421053886&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1302881601421053886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1302881601421053886'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/12/httphandler.html' title='HttpHandler'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-5433787437577795167</id><published>2008-11-12T23:22:00.006+11:00</published><updated>2008-12-10T22:28:31.980+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Loop through files in a directory</title><content type='html'>&lt;span style="font-family:arial;"&gt;The following example shows you how to programme path in ASP.NET:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_ut9J9FzZe8E/SRrLtfInQSI/AAAAAAAAAz8/jjG_LDgsq2I/s1600-h/1.png"&gt;&lt;span style="font-family:arial;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5267746696475394338" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 284px" alt="" src="http://1.bp.blogspot.com/_ut9J9FzZe8E/SRrLtfInQSI/AAAAAAAAAz8/jjG_LDgsq2I/s400/1.png" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.IO&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Partial&lt;/span&gt; &lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; WebForm1&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Inherits&lt;/span&gt; System.Web.UI.Page&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Protected&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Page_Load(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; &lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Load&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'Note: TestPath is configured the root folder in IIS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(&lt;span style="color:#a31515;"&gt;"-------Path------------"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Server.MapPath(&lt;span style="color:#a31515;"&gt;"~"&lt;/span&gt;)) &lt;span style="color:green;"&gt;'Root folder: C:\ALL\Dev\TestPath\&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Server.MapPath(&lt;span style="color:#a31515;"&gt;"~/"&lt;/span&gt;)) &lt;span style="color:green;"&gt;'Root folder: C:\ALL\Dev\TestPath\&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Server.MapPath(&lt;span style="color:#a31515;"&gt;"."&lt;/span&gt;)) &lt;span style="color:green;"&gt;'Current folder: C:\ALL\Dev\TestPath\Folder1\Folder2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Server.MapPath(&lt;span style="color:#a31515;"&gt;".."&lt;/span&gt;)) &lt;span style="color:green;"&gt;'Upper-level folder: C:\ALL\Dev\TestPath\Folder1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Server.MapPath(&lt;span style="color:#a31515;"&gt;"../.."&lt;/span&gt;)) &lt;span style="color:green;"&gt;'Upper-upper-level folder: C:\ALL\Dev\TestPath&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(&lt;span style="color:#a31515;"&gt;"--------URL-----------"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Request.RawUrl()) &lt;span style="color:green;"&gt;'/TestPath/Folder1/Folder2/WebForm1.aspx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Request.PhysicalPath) &lt;span style="color:green;"&gt;'C:\ALL\Dev\TestPath\Folder1\Folder2\WebForm1.aspx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Request.PhysicalApplicationPath) &lt;span style="color:green;"&gt;'C:\ALL\Dev\TestPath\&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Request.Url.AbsolutePath) &lt;span style="color:green;"&gt;'/TestPath/Folder1/Folder2/WebForm1.aspx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(Request.Url.LocalPath) &lt;span style="color:green;"&gt;'/TestPath/Folder1/Folder2/WebForm1.aspx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(&lt;span style="color:#a31515;"&gt;"--------File/Folder-----------"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(GetCurrentPageName) &lt;span style="color:green;"&gt;'WebForm1.aspx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(GetFileExtension(Request.PhysicalPath)) &lt;span style="color:green;"&gt;'.aspx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(GetFileExtension1(Request.PhysicalPath)) &lt;span style="color:green;"&gt;'.aspx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(IsFileExist(Request.PhysicalPath)) &lt;span style="color:green;"&gt;'True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(IsFolderExist(Server.MapPath(&lt;span style="color:#a31515;"&gt;".."&lt;/span&gt;))) &lt;span style="color:green;"&gt;'True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(IsFolderExist1(Server.MapPath(&lt;span style="color:#a31515;"&gt;".."&lt;/span&gt;))) &lt;span style="color:green;"&gt;'True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Print(FindFile(Server.MapPath(&lt;span style="color:#a31515;"&gt;"."&lt;/span&gt;), &lt;span style="color:#a31515;"&gt;"form1"&lt;/span&gt;)) &lt;span style="color:green;"&gt;'WebForm1.aspx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Print(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; val &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.Write(val + &lt;span style="color:#a31515;"&gt;"&amp;lt;br&amp;gt;"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetCurrentPageName() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; path &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = System.Web.HttpContext.Current.Request.Url.AbsolutePath&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; file &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.IO.FileInfo(path)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; file.Name&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetFileExtension(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; path &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; file &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.IO.FileInfo(path)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; file.Extension&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetFileExtension1(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; path &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; System.IO.Path.GetExtension(path)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:Arial;color:#0000ff;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:Arial;color:#0000ff;"&gt;&lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;\red163\green21\blue21;}??\fs20 \cf1 Public\cf0  \cf1 Shared\cf0  \cf1 Function\cf0  GetFileExtension2(\cf1 ByVal\cf0  filename \cf1 As\cf0  \cf1 String\cf0 ) \cf1 As\cf0  \cf1 String\par ??\cf0     \cf1 Dim\cf0  index \cf1 As\cf0  \cf1 Integer\cf0  = filename.LastIndexOf(\cf4 "."\cf0 )\par ??    \cf1 Return\cf0  filename.Substring(index + 1, filename.Length - index - 1)\par ??\cf1 End\cf0  \cf1 Function} --&gt;&lt;br /&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Shared&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; &lt;span style="color:#000000;"&gt;GetFileExtension2&lt;/span&gt;(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; &lt;span style="color:#000000;"&gt;filename&lt;/span&gt; &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;    &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; &lt;span style="color:#000000;"&gt;index&lt;/span&gt; &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = &lt;span style="color:#000000;"&gt;filename&lt;/span&gt;.LastIndexOf(&lt;span style="color:#a31515;"&gt;"."&lt;/span&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;    &lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:#000000;"&gt;filename&lt;/span&gt;.Substring(&lt;span style="color:#000000;"&gt;index&lt;/span&gt; + 1, &lt;span style="color:#000000;"&gt;filename&lt;/span&gt;.Length - &lt;span style="color:#000000;"&gt;index&lt;/span&gt; - 1)&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; IsFileExist(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; path &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; File.Exists(path)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; IsFolderExist(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; folder &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; Directory.Exists(folder)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; IsFolderExist1(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; folder &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:blue;"&gt;My&lt;/span&gt;.Computer.FileSystem.DirectoryExists(folder)&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; FindFile(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; path &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; contains &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; wildcards &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;() = {&lt;span style="color:#a31515;"&gt;"*.jpg"&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;"*.jpeg"&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;"*.gif"&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;"*.aspx"&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; Files &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.Collections.ObjectModel.ReadOnlyCollection(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) _&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;= &lt;span style="color:blue;"&gt;My&lt;/span&gt;.Computer.FileSystem.GetFiles(path, FileIO.SearchOption.SearchTopLevelOnly, wildcards)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; f &lt;span style="color:blue;"&gt;In&lt;/span&gt; Files&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; f.IndexOf(contains, StringComparison.CurrentCultureIgnoreCase) &amp;gt;= 0 &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; System.IO.Path.GetFileName(f)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"Not Found"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-5433787437577795167?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/5433787437577795167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=5433787437577795167&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5433787437577795167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5433787437577795167'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/11/aspnet-path.html' title='Loop through files in a directory'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ut9J9FzZe8E/SRrLtfInQSI/AAAAAAAAAz8/jjG_LDgsq2I/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-7199977869507277646</id><published>2008-11-02T19:31:00.005+11:00</published><updated>2008-11-02T19:54:22.695+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Loop through properties of a .NET Class</title><content type='html'>&lt;span style="font-family:arial;"&gt;You could use reflection to return all the public properties of a current class, such as the name and value of the property.&lt;br /&gt;&lt;br /&gt;Sample Code:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Web&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Reflection&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Partial&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; HCNLogin&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; CreateHCNCookies(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; userID &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; Request.Browser.Cookies &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; hcnUser &lt;span style="color:blue;"&gt;As&lt;/span&gt; HCNUser = hcnUser.GetByID(userID)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; hcnUser &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; t &lt;span style="color:blue;"&gt;As&lt;/span&gt; Type = hcnUser.GetType()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; p &lt;span style="color:blue;"&gt;As&lt;/span&gt; PropertyInfo &lt;span style="color:blue;"&gt;In&lt;/span&gt; t.GetProperties()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; &lt;span style="color:blue;"&gt;Not&lt;/span&gt; p.Name.Equals(&lt;span style="color:#a31515;"&gt;"ID"&lt;/span&gt;) &lt;span style="color:blue;"&gt;AndAlso&lt;/span&gt; &lt;span style="color:blue;"&gt;Not&lt;/span&gt; p.Name.Equals(&lt;span style="color:#a31515;"&gt;"intUserID"&lt;/span&gt;) &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.Cookies(p.Name).Value = p.GetValue(hcnUser, &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.Cookies(p.Name).Expires = DateTime.Now.AddYears(10)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:blue;"&gt;Next&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1246993.aspx"&gt;&lt;span style="font-family:arial;"&gt;Loop through object properties?&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-7199977869507277646?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/7199977869507277646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=7199977869507277646&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7199977869507277646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7199977869507277646'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/11/loop-through-properties-of-net-class.html' title='Loop through properties of a .NET Class'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1088444867404161610</id><published>2008-11-02T19:10:00.006+11:00</published><updated>2008-11-02T19:24:03.837+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><title type='text'>Running custom HttpHandler in IIS 7</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;When I am using a custom HttpModule/HttpHandler in IIS 7 under Vista, the handler does not fire. The fix is to change the application in IIS to the "Classic .NET AppPool". You can also use the DefaulAppPool by changing the web.config, refer to the references.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Also, IIS7 on Vista Client doesn't currently supports ASP.NET substitution caching while running in integrated mode. If you change it to classic mode it does. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_ut9J9FzZe8E/SQ1iL7UZDTI/AAAAAAAAAz0/kvCmH0MYAo8/s1600-h/1.png"&gt;&lt;span style="font-family:arial;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263971496507280690" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 361px" alt="" src="http://4.bp.blogspot.com/_ut9J9FzZe8E/SQ1iL7UZDTI/AAAAAAAAAz0/kvCmH0MYAo8/s400/1.png" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://pro-thoughts.blogspot.com/2008/04/using-httpmodules-and-httphandlers.html"&gt;&lt;span style="font-family:arial;"&gt;Using HttpModules and HttpHandlers under IIS7&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a style="TEXT-DECORATION: none" href="http://www.west-wind.com/Weblog/posts/168221.aspx"&gt;&lt;span style="font-family:arial;"&gt;HttpModule and HttpHandler sections in IIS 7 web.config files&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://weblogs.asp.net/hpreishuber/archive/2006/12/03/iis-7-apppool-integrated-fails-with-asp-net-substitution.aspx"&gt;&lt;span style="font-family:arial;"&gt;IIS 7 Apppool "integrated" fails with ASP.NET Substitution&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1088444867404161610?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1088444867404161610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1088444867404161610&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1088444867404161610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1088444867404161610'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/11/running-custom-httphandler-in-iis-7.html' title='Running custom HttpHandler in IIS 7'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ut9J9FzZe8E/SQ1iL7UZDTI/AAAAAAAAAz0/kvCmH0MYAo8/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-1032743404597724547</id><published>2008-11-02T17:27:00.008+11:00</published><updated>2008-11-02T19:01:28.365+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>LINQ Connection String - app.config vs web.config</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;When you are using Linq to SQL, if you have your dbml in a class library project and you drag and drop a database table from the Server Explorer onto the dbml designer, VS2008 will automatically create the app.config for you which contains the connectionstring.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;If you have a web application project which references the Linq class library and you want to put the connectionstring in the web.config, here is how:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;1. Remove the default constructor in the dbml designer class. Create a partial class for the datacontext class which contains the constructor to re-set the connectionstring.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;2. You need to set the dbml's connection to none whenever new stuff has been dragged onto the design surface.&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_ut9J9FzZe8E/SQ1W7ZMFfzI/AAAAAAAAAzs/qc4bvoz4xTw/s1600-h/1.png"&gt;&lt;span style="font-family:arial;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263959117839826738" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 156px" alt="" src="http://2.bp.blogspot.com/_ut9J9FzZe8E/SQ1W7ZMFfzI/AAAAAAAAAzs/qc4bvoz4xTw/s400/1.png" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;3. Put the connectionstring in the web.config&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Sample Code:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Configuration&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'We don't want to use app.config to store connectionstring, we need to use web.config&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;color:green;"&gt;'So we need to set the dbml's connection to none whenever new stuff has been dragged onto the design surface&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Partial&lt;/span&gt; &lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; MyDataContext&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt;()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;MyBase&lt;/span&gt;.New(ConfigurationManager.ConnectionStrings(&lt;span style="color:#a31515;"&gt;"MyConnectionString"&lt;/span&gt;).ConnectionString, mappingSource)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;References:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://ddkonline.blogspot.com/2008/02/set-connection-string-in-linq-dbml-file.html"&gt;&lt;span style="font-family:arial;"&gt;How to set the connection string in your LINQ dbml file dynamically (based on web.config)&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/jongallant/archive/2007/11/25/linq-and-web-application-connection-strings.aspx"&gt;&lt;span style="font-family:arial;"&gt;LINQ and Web Application Connection Strings&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-1032743404597724547?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/1032743404597724547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=1032743404597724547&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1032743404597724547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/1032743404597724547'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/11/linq-appconfig-vs-webconfig.html' title='LINQ Connection String - app.config vs web.config'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ut9J9FzZe8E/SQ1W7ZMFfzI/AAAAAAAAAzs/qc4bvoz4xTw/s72-c/1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-7177002083841559731</id><published>2008-11-02T17:05:00.004+11:00</published><updated>2008-11-02T17:14:56.071+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Importing Excel - Truncates at 255 characters</title><content type='html'>&lt;span style="font-family:arial;"&gt;When you importing an excel file into database, if you are using OLEDB, the text being read from each cell will be truncated at 255 characters.&lt;br /&gt;&lt;br /&gt;Solutions:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows was set to 1. You can change it to a larger value and it now work.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;You might consider using ODBC instead of OLEDB.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Sample code:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Data.OleDb&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Imports&lt;/span&gt; System.Data.Odbc&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Module&lt;/span&gt; ImportExcel&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Main()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;DoJob1()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'Private Function GetData() As OleDbDataReader&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Dim cnAdo As New OleDbConnection()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Dim cmCommand As New OleDbCommand()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' cnAdo.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=YES';Data Source=E:\\test.xls;"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' cnAdo.Open()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' cmCommand.Connection = cnAdo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' cmCommand.CommandText = "SELECT * FROM [Sheet1$]"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' cmCommand.CommandType = CommandType.Text&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Return cmCommand.ExecuteReader(CommandBehavior.CloseConnection)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Catch ex As Exception&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' If cnAdo.State = ConnectionState.Open Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' cnAdo.Close()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' End If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Throw ex&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' End Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'End Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'Private Sub DoJob()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Dim drExcel As OleDbDataReader = GetData()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Dim dc As New Enware_eStoreDataContext()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Dim count As Integer = 0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' While drExcel.Read()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' If drExcel("ProductID") IsNot DBNull.Value Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Dim p As eStore_Product = dc.eStore_Products.FirstOrDefault(Function(s As eStore_Product) s.ID = CInt(drExcel("ProductID")))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' If p IsNot Nothing Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' p.Name = drExcel("Name").ToString()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' p.Description = drExcel("Description").ToString()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' p.Image = drExcel("Image").ToString()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' p.Keyword = drExcel("Keyword").ToString()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' p.GroupCode = drExcel("GroupCode").ToString()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' p.Brochure = drExcel("Brochure").ToString()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' dc.SubmitChanges()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Exit While&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' End If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Exit While&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' End If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' count = count + 1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' End While&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Console.WriteLine("finished! - " + count.ToString() + " rows processed!")&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Console.ReadLine()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Catch ex As Exception&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Console.WriteLine(ex)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Console.ReadLine()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' Finally&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' If drExcel IsNot Nothing Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' drExcel.Close()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' End If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;' End Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:green;"&gt;'End Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetOdbcDataReader() &lt;span style="color:blue;"&gt;As&lt;/span&gt; OdbcDataReader&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; con &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; OdbcConnection()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; cmd &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; OdbcCommand()&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;con.ConnectionString = &lt;span style="color:#a31515;"&gt;"Driver={Microsoft Excel Driver (*.xls)};DBQ=E:\\test.xls;"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;con.Open()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;cmd.Connection = con&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;cmd.CommandText = &lt;span style="color:#a31515;"&gt;"SELECT * FROM [Sheet1$]"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;cmd.CommandType = CommandType.Text&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; cmd.ExecuteReader(CommandBehavior.CloseConnection)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; con.State = ConnectionState.Open &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;con.Close()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Throw&lt;/span&gt; ex&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; DoJob1()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; drExcel &lt;span style="color:blue;"&gt;As&lt;/span&gt; OdbcDataReader = GetOdbcDataReader()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; dc &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; Enware_eStoreDataContext()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; count &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = 0&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;While&lt;/span&gt; drExcel.Read()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; drExcel(&lt;span style="color:#a31515;"&gt;"ProductID"&lt;/span&gt;) &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; DBNull.Value &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; p &lt;span style="color:blue;"&gt;As&lt;/span&gt; eStore_Product = dc.eStore_Products.FirstOrDefault(&lt;span style="color:blue;"&gt;Function&lt;/span&gt;(s &lt;span style="color:blue;"&gt;As&lt;/span&gt; eStore_Product) s.ID = &lt;span style="color:blue;"&gt;CInt&lt;/span&gt;(drExcel(&lt;span style="color:#a31515;"&gt;"ProductID"&lt;/span&gt;)))&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; p &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;p.Name = drExcel(&lt;span style="color:#a31515;"&gt;"Name"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;p.Description = drExcel(&lt;span style="color:#a31515;"&gt;"Description"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;p.Image = drExcel(&lt;span style="color:#a31515;"&gt;"Image"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;p.Keyword = drExcel(&lt;span style="color:#a31515;"&gt;"Keyword"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;p.GroupCode = drExcel(&lt;span style="color:#a31515;"&gt;"GroupCode"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;p.Brochure = drExcel(&lt;span style="color:#a31515;"&gt;"Brochure"&lt;/span&gt;).ToString()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;dc.SubmitChanges()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Exit&lt;/span&gt; &lt;span style="color:blue;"&gt;While&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Exit&lt;/span&gt; &lt;span style="color:blue;"&gt;While&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;count = count + 1&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;While&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;"finished! - "&lt;/span&gt; + count.ToString() + &lt;span style="color:#a31515;"&gt;" rows processed!"&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Console.ReadLine()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Console.WriteLine(ex)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Console.ReadLine()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Finally&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; drExcel &lt;span style="color:blue;"&gt;IsNot&lt;/span&gt; &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt; &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;drExcel.Close()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Module&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://www.codeproject.com/KB/office/excel_using_oledb.aspx"&gt;Reading and Writing Excel using OLEDB&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-7177002083841559731?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/7177002083841559731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=7177002083841559731&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7177002083841559731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/7177002083841559731'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/11/importing-excel-truncates-at-255.html' title='Importing Excel - Truncates at 255 characters'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-8319017816944680324</id><published>2008-11-02T16:36:00.002+11:00</published><updated>2008-11-02T17:24:11.771+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint MOSS 2007'/><title type='text'>MOSS Video Format</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;SharePoint will play all files that windows media player can play. If you have all codecs correctly installed for Media player, then you can host any file in SharePoint and then add a code that will make windows media player play the file.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;But since the user may not have the correct codecs installed for their media player, the best format is wmv since windows media player is made to play .wmv files.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;By Default Moss will allow us to upload File size up to 50 MB. Upload File size can be adjusted to up to 2 GB.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;The best file size will be less than 20MB.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Reference:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://social.technet.microsoft.com/forums/en-US/sharepointgeneral/thread/03ea0d6d-7ff7-4b60-abe6-3a6ebdcf3546/"&gt;Does Sharepoint play any video file?&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-8319017816944680324?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/8319017816944680324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=8319017816944680324&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8319017816944680324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/8319017816944680324'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/11/moss-video-format.html' title='MOSS Video Format'/><author><name>Sam Fu</name><uri>http://www.blogger.com/profile/18016541109740131805</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3589812793240917524.post-5767230608526170916</id><published>2008-10-26T16:28:00.004+11:00</published><updated>2008-11-07T12:00:31.281+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Detect DropDownList SelectedIndexChanged on Page Load</title><content type='html'>&lt;span style="font-family:arial;"&gt;In ASP.NET, when you define an asp:DropDownList with AutoPostBack="true", say if you are having two ListItems of the same value, then you select the first one, and now when you select the second one, the SelectedIndexChanged event of the DropDownList will not fire since the&lt;br /&gt;SelectedValue of the DropDownList has not changed. You could use Request.Form("__EVENTTARGET") in the Page_Load to solve this problem.&lt;br /&gt;&lt;br /&gt;Here is the example:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;%@ Page Language=&lt;span style="color:#a31515;"&gt;"vb"&lt;/span&gt; AutoEventWireup=&lt;span style="color:#a31515;"&gt;"false"&lt;/span&gt; CodeBehind=&lt;span style="color:#a31515;"&gt;"Default.aspx.vb"&lt;/span&gt; &lt;span style="color:blue;"&gt;Inherits&lt;/span&gt;=&lt;span style="color:#a31515;"&gt;"TestDropDown._Default"&lt;/span&gt; %&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;!DOCTYPE html &lt;span style="color:blue;"&gt;PUBLIC&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="color:#a31515;"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;html xmlns=&lt;span style="color:#a31515;"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt; &amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;head runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;form id=&lt;span style="color:#a31515;"&gt;"form1"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:DropDownList ID=&lt;span style="color:#a31515;"&gt;"DropDownList1"&lt;/span&gt; runat=&lt;span style="color:#a31515;"&gt;"server"&lt;/span&gt; AutoPostBack=&lt;span style="color:#a31515;"&gt;"true"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:ListItem Text=&lt;span style="color:#a31515;"&gt;"---"&lt;/span&gt; Value=&lt;span style="color:#a31515;"&gt;"---"&lt;/span&gt;&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:ListItem Text=&lt;span style="color:#a31515;"&gt;"aa"&lt;/span&gt; Value=&lt;span style="color:#a31515;"&gt;"aa"&lt;/span&gt;&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:ListItem Text=&lt;span style="color:#a31515;"&gt;"bb"&lt;/span&gt; Value=&lt;span style="color:#a31515;"&gt;"aa"&lt;/span&gt;&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;asp:ListItem Text=&lt;span style="color:#a31515;"&gt;"cc"&lt;/span&gt; Value=&lt;span style="color:#a31515;"&gt;"cc"&lt;/span&gt;&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/asp:DropDownList&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; OVERFLOW: scroll; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; HEIGHT: 200px"&gt;&lt;div style="BACKGROUND: white;font-family:Arial;font-size:10pt;color:black;"   &gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Partial&lt;/span&gt; &lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; _Default&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Inherits&lt;/span&gt; System.Web.UI.Page&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Protected&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Page_Load(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; &lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Load&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;If&lt;/span&gt; &lt;span style="color:blue;"&gt;Me&lt;/span&gt;.Request.Form(&lt;span style="color:#a31515;"&gt;"__EVENTTARGET"&lt;/span&gt;) = DropDownList1.UniqueID &lt;span style="color:blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.Write(DropDownList1.SelectedValue)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;Private&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; DropDownList1_SelectedIndexChanged(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.EventArgs) &lt;span style="color:blue;"&gt;Handles&lt;/span&gt; DropDownList1.SelectedIndexChanged&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;Response.Write(DateTime.Now.ToString())&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN: 0px"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3589812793240917524-5767230608526170916?l=fuchangmiao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuchangmiao.blogspot.com/feeds/5767230608526170916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3589812793240917524&amp;postID=5767230608526170916&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5767230608526170916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3589812793240917524/posts/default/5767230608526170916'/><link rel='alternate' type='text/html' href='http://fuchangmiao.blogspot.com/2008/10/detect-dropdownlist-selectedindexchange.html' title='Detect DropDownList Selecte
