<?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-7971282685828719709</id><updated>2012-01-07T13:01:25.058-05:00</updated><category term='Windows XP'/><category term='Sirius Satellite'/><category term='beer'/><category term='MaxLength Textbox not working'/><category term='Repeater'/><category term='SQL'/><category term='bug'/><category term='DataBind'/><category term='DataSet Conversion'/><category term='network problem'/><category term='DataTable'/><category term='Windows'/><category term='RadioButtonList'/><category term='coworking'/><category term='Bar Rock The Vote'/><category term='asp:checkbox'/><category term='GetEnumerator()'/><category term='threading'/><category term='Cleveland OH'/><category term='autofocus'/><category term='encryption'/><category term='Inner Join'/><category term='SQL storage'/><category term='bananas'/><category term='RSS'/><category term='keyCode'/><category term='string format'/><category term='configuration'/><category term='OnClick'/><category term='Debugger'/><category term='FTP'/><category term='Command Prompt'/><category term='GPG'/><category term='.xslt Convertsion'/><category term='blank parameter'/><category term='file signature'/><category term='AutoPostBack'/><category term='Dynamic Panel'/><category term='DataBinder'/><category term='.NET 2.0'/><category term='sort'/><category term='The Black Keys'/><category term='automatic logout'/><category term='pubdate'/><category term='Save DataSet as XML'/><category term='Keys'/><category term='catch keypress'/><category term='confirm pop-up'/><category term='Index Error with Math.Ceiling'/><category term='logout'/><category term='Bulk Copy Program'/><category term='if else'/><category term='XML'/><category term='Unicode'/><category term='iPhone'/><category term='ICallbackEventHandler'/><category term='ringtones'/><category term='file image'/><category term='.rdl file'/><category term='IE8'/><category term='replaceall'/><category term='remote connection'/><category term='populate CheckBoxList'/><category term='SSRS'/><category term='Win Butler'/><category term='asp.net'/><category term='bool values'/><category term='VS'/><category term='error'/><category term='.NET conversion'/><category term='My Morning Jacket'/><category term='table update'/><category term='jailbreak'/><category term='.NET'/><category term='Excel'/><category term='.xls'/><category term='DataRow.Find'/><category term='loop'/><category term='javascript'/><category term='right outer join'/><category term='hidden field'/><category term='AJAX'/><category term='DataGrid'/><category term='keyCode table'/><category term='paging'/><category term='hidden input'/><category term='pop-up errors'/><category term='Ambiguous match found'/><category term='09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63 56 88 c0'/><category term='right join'/><category term='Multiline Textbox'/><category term='BCP'/><category term='Checkbox'/><category term='window.opener'/><category term='panel'/><category term='IEnumerator'/><category term='DataSet'/><category term='error message'/><category term='PGP'/><category term='multi-thread'/><category term='Delete Result'/><category term='Math.Ceiling'/><category term='Xml Transform'/><category term='Red Rocks Amphitheatre'/><category term='Auto Shut Down'/><category term='C# Index Error'/><category term='cmd'/><category term='_PendingCallbacks[...].async is null or not an object'/><category term='Cut and Paste'/><category term='HttpWebRequest'/><category term='asynchronous server call'/><category term='Hashtable'/><category term='Howard Stern'/><category term='.xslt'/><category term='HttpHandler'/><category term='left outer join'/><category term='feed'/><category term='transaction'/><category term='multiple values'/><category term='stored procedure'/><category term='InstallState'/><category term='left join'/><category term='trigger'/><category term='upload ringtones'/><category term='party'/><category term='Beachland Ballroom'/><category term='.aspx page'/><category term='SP efficiency'/><category term='XmlDocument'/><category term='textbox'/><category term='track visibility'/><category term='replace'/><category term='business growth'/><category term='C#'/><category term='Column not XML'/><category term='visual studios'/><category term='ListItem'/><category term='raiserror'/><category term='Arcade Fire'/><category term='print page'/><category term='Proof of concept'/><category term='select specific rows'/><category term='MaxLength'/><category term='filter report fields'/><category term='.NET 1.1'/><category term='string operator'/><category term='uSirius'/><title type='text'>unplug1.6</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>73</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-9003236692162458020</id><published>2012-01-07T13:01:00.000-05:00</published><updated>2012-01-07T13:01:25.070-05:00</updated><title type='text'>Disable page to display message with Javascript</title><content type='html'>&lt;blockquote&gt;Simple way to disable a page to display a message or request a specific user action&lt;/blockquote&gt;&lt;span style="color:red"&gt;This html can be copied and pasted into an html file to view the css, javascript, and html in action.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt; &lt;br /&gt;&amp;lt;head&gt; &lt;br /&gt;&amp;lt;title&gt;Test&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;&amp;nbsp;.opaqueLayer &lt;br /&gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;display:none; &lt;br /&gt;&amp;nbsp;&amp;nbsp;position:absolute; &lt;br /&gt;&amp;nbsp;&amp;nbsp;top:0px; &lt;br /&gt;&amp;nbsp;&amp;nbsp;left:0px; &lt;br /&gt;&amp;nbsp;&amp;nbsp;opacity:0.6; &lt;br /&gt;&amp;nbsp;&amp;nbsp;filter:alpha(opacity=60); &lt;br /&gt;&amp;nbsp;&amp;nbsp;background-color: #000000; &lt;br /&gt;&amp;nbsp;&amp;nbsp;z-Index:1000; &lt;br /&gt;&amp;nbsp;} &lt;br /&gt;             &lt;br /&gt;&amp;nbsp;.questionLayer &lt;br /&gt;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;position:absolute; &lt;br /&gt;&amp;nbsp;&amp;nbsp;top:0px; &lt;br /&gt;&amp;nbsp;&amp;nbsp;left:0px; &lt;br /&gt;&amp;nbsp;&amp;nbsp;width:350px; &lt;br /&gt;&amp;nbsp;&amp;nbsp;height:200px; &lt;br /&gt;&amp;nbsp;&amp;nbsp;display:none; &lt;br /&gt;&amp;nbsp;&amp;nbsp;z-Index:1001; &lt;br /&gt;&amp;nbsp;&amp;nbsp;border:2px solid black; &lt;br /&gt;&amp;nbsp;&amp;nbsp;background-color:#FFFFFF; &lt;br /&gt;&amp;nbsp;&amp;nbsp;text-align:center; &lt;br /&gt;&amp;nbsp;&amp;nbsp;vertical-align:middle; &lt;br /&gt;&amp;nbsp;&amp;nbsp;padding:10px; &lt;br /&gt;&amp;nbsp;} &lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;&amp;nbsp;function getBrowserHeight() { &lt;br /&gt;&amp;nbsp;&amp;nbsp;var intH = 0; &lt;br /&gt;&amp;nbsp;&amp;nbsp;var intW = 0; &lt;br /&gt;                &lt;br /&gt;&amp;nbsp;&amp;nbsp;if(typeof window.innerWidth  == 'number' ) { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intH = window.innerHeight; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intW = window.innerWidth; &lt;br /&gt;&amp;nbsp;&amp;nbsp;}  &lt;br /&gt;&amp;nbsp;&amp;nbsp;else if(document.documentElement &amp;&amp; &amp;nbsp;&amp;nbsp;(document.documentElement.clientWidth || &amp;nbsp;&amp;nbsp;document.documentElement.clientHeight)) { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intH = document.documentElement.clientHeight; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intW = document.documentElement.clientWidth; &lt;br /&gt;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;else if(document.body &amp;&amp; (document.body.clientWidth || document.body.clientHeight)) { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intH = document.body.clientHeight; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intW = document.body.clientWidth; &lt;br /&gt;&amp;nbsp;&amp;nbsp;} &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;return { width: parseInt(intW), height: parseInt(intH) }; &lt;br /&gt;}   &lt;br /&gt; &lt;br /&gt;function setLayerPosition() { &lt;br /&gt;&amp;nbsp;&amp;nbsp;var shadow = document.getElementById("shadow"); &lt;br /&gt;&amp;nbsp;&amp;nbsp;var question = document.getElementById("question"); &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;var bws = getBrowserHeight(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;shadow.style.width = bws.width + "px"; &lt;br /&gt;&amp;nbsp;&amp;nbsp;shadow.style.height = bws.height + "px"; &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;question.style.left = parseInt((bws.width - 350) / 2); &lt;br /&gt;&amp;nbsp;&amp;nbsp;question.style.top = parseInt((bws.height - 200) / 2); &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;shadow = null; &lt;br /&gt;&amp;nbsp;&amp;nbsp;question = null; &lt;br /&gt;} &lt;br /&gt; &lt;br /&gt;function showLayer() { &lt;br /&gt;&amp;nbsp;&amp;nbsp;setLayerPosition(); &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;var shadow = document.getElementById("shadow"); &lt;br /&gt;&amp;nbsp;&amp;nbsp;var question = document.getElementById("question"); &lt;br /&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;shadow.style.display = "block";  &lt;br /&gt;&amp;nbsp;&amp;nbsp;question.style.display = "block"; &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;shadow = null; &lt;br /&gt;&amp;nbsp;&amp;nbsp;question = null;              &lt;br /&gt;} &lt;br /&gt;             &lt;br /&gt;function hideLayer() { &lt;br /&gt;&amp;nbsp;&amp;nbsp;var shadow = document.getElementById("shadow"); &lt;br /&gt;&amp;nbsp;&amp;nbsp;var question = document.getElementById("question"); &lt;br /&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;shadow.style.display = "none";  &lt;br /&gt;&amp;nbsp;&amp;nbsp;question.style.display = "none"; &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;shadow = null; &lt;br /&gt;&amp;nbsp;&amp;nbsp;question = null;  &lt;br /&gt;} &lt;br /&gt; &lt;br /&gt;window.onresize = setLayerPosition; &lt;br /&gt;&amp;lt;/script&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;div id="shadow" class="opaqueLayer"&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;div id="question" class="questionLayer"&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hello! &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;input type="button" onclick="hideLayer();" value="Close" /&amp;gt; &lt;br /&gt;&amp;lt;/div&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;h3&gt;Modal Layer Test&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;Click the image below to display the "modal" layer&amp;lt;/p&amp;gt; &lt;br /&gt;&amp;lt;img src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="Test Image" onclick="showLayer();" /&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt; &lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Another option would be to add a control to the page that posts back to the server and then responds with the option to hide layer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Button on .aspx page&lt;/span&gt;&lt;br /&gt;&amp;lt;asp:Button runat="server" ID="UpdateBtn" OnClientClick="hideLayer();" Text="Update" CssClass="Btn" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Button click event that checks condition&lt;/span&gt;&lt;br /&gt;void UpdateBtn_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;if(SomeCondition){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InsertAlert();&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Inserts showLayer script on window load&lt;/span&gt;&lt;br /&gt;private void InsertAlert()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;ClientScript.RegisterClientScriptBlock(typeof(Page), "InsertAlert", "window.onload = showLayer;", true);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-9003236692162458020?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/9003236692162458020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=9003236692162458020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/9003236692162458020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/9003236692162458020'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2012/01/disable-page-to-display-message-with.html' title='Disable page to display message with Javascript'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6580700091148475743</id><published>2011-12-27T10:33:00.000-05:00</published><updated>2011-12-27T10:33:29.295-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataTable'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlDocument'/><category scheme='http://www.blogger.com/atom/ns#' term='Xml Transform'/><title type='text'>Creating a XmlDocument from a DataTable</title><content type='html'>&lt;blockquote&gt;A DataSet or DataTable is represented as XML, so it can be transformed into an XmlDocument.&lt;/blockquote&gt;This is a quick way to transform.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.) Populate a DataTable:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:red"&gt;DataTable dt = GetDetailsFromDatabase();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.) Use XmlWriter to write the DataTable Xml to a XmlDocument:&lt;/b&gt;&lt;br /&gt;&lt;span style="color:red"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;XmlDocument doc = new XmlDocument();&lt;br /&gt;&amp;nbsp;&amp;nbsp;using (XmlWriter xw = doc.CreateNavigator().AppendChild())&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xw.WriteStartDocument(true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dt.WriteXml(xw);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;3.) Now the XmlDocument can be used as is or saved:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:red"&gt;doc.Save("test.xml");&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6580700091148475743?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6580700091148475743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6580700091148475743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6580700091148475743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6580700091148475743'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/12/creating-xmldocument-from-datatable.html' title='Creating a XmlDocument from a DataTable'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-701004883761037464</id><published>2011-10-21T13:29:00.000-04:00</published><updated>2011-10-21T13:29:00.915-04:00</updated><title type='text'>The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.</title><content type='html'>&lt;blockquote&gt;Working on an EventLog process, this error started.  Below is a solution.&lt;br /&gt;&lt;/blockquote&gt;follow these steps:&lt;br /&gt;&lt;br /&gt;1.Start -&gt; Run -&gt; regedit.exe&lt;br /&gt;2.Navigate to My Computer &gt; HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog&lt;br /&gt;3.Right click this key, select Permissions, and grant the ASPNET account read/write permissions. &lt;span style="color:red"&gt;Note that for the "inaccessible" logs (ie. Security, Virtual Server), you'll also need to grant read access, as permissions have been set to not inherity from the parent key.&lt;/span&gt;&lt;br /&gt;Step 4 may be required: Restart IIS (start -&gt; Run  -&gt; iisreset)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-701004883761037464?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/701004883761037464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=701004883761037464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/701004883761037464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/701004883761037464'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/10/source-was-not-found-but-some-or-all.html' title='The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-2141819495890854818</id><published>2011-09-23T09:44:00.000-04:00</published><updated>2011-09-23T09:44:29.583-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bool values'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL storage'/><title type='text'>Save and load multiple bool values with a single decimal value.</title><content type='html'>&lt;blockquote&gt;The example below will explain how to store and load multiple bool values from a database with a single decimal value.&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color:red; font-weight:bold"&gt;&lt;br /&gt;-----------------------------------------------------------------------&lt;br /&gt;Save bool values as decimal&lt;br /&gt;-----------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;int options = 0;&lt;br /&gt;&lt;br /&gt;options=options | Convert.ToInt32(Option1.Checked); //&lt;span style="color:red"&gt;bitwise OR&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;options=options &lt;&lt; 1; //&lt;span style="color:red"&gt;Shift bits&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;options=options | Convert.ToInt32(Option2.Checked);&lt;br /&gt;&lt;br /&gt;options=options &lt;&lt; 1;&lt;br /&gt;&lt;br /&gt;options=options | Convert.ToInt32(Option3.Checked);&lt;br /&gt;&lt;br /&gt;options=options &lt;&lt; 1;&lt;br /&gt;&lt;br /&gt;options=options | Convert.ToInt32(Option4.Checked);&lt;br /&gt;&lt;br /&gt;options=options &lt;&lt; 1;&lt;br /&gt;&lt;br /&gt;options=options | Convert.ToInt32(Option5.Checked);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DBService.SaveDetail(options);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red; font-weight:bold"&gt;&lt;br /&gt;-----------------------------------------------------------------------&lt;br /&gt;Load decimal value from database&lt;br /&gt;-----------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;DataRow dr = DBService.GetDetail();&lt;br /&gt;&lt;br /&gt;int values = int.Parse(dr["decimal"].ToString());&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red; font-weight:bold"&gt;Load controls&lt;/span&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Use binary operators to check each bit&lt;/span&gt;&lt;br /&gt;Option1.Checked = ((bool)((options &amp; 1) == 1)); //&lt;span style="color:red"&gt;bitwise AND&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;options=options &gt;&gt; 1; //&lt;span style="color:red"&gt;Shift bits&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Option2.Checked = ((bool)((options &amp; 1) == 1));&lt;br /&gt;&lt;br /&gt;options=options &gt;&gt; 1;&lt;br /&gt;&lt;br /&gt;Option3.Checked = ((bool)((options &amp; 1) == 1));&lt;br /&gt;&lt;br /&gt;options=options &gt;&gt; 1;&lt;br /&gt;&lt;br /&gt;Option4.Checked = ((bool)((options &amp; 1) == 1));&lt;br /&gt;&lt;br /&gt;options=options &gt;&gt; 1;&lt;br /&gt;&lt;br /&gt;Option5.Checked = ((bool)((options &amp; 1) == 1));&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-2141819495890854818?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/2141819495890854818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=2141819495890854818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/2141819495890854818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/2141819495890854818'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/09/save-and-load-multiple-bool-values-with.html' title='Save and load multiple bool values with a single decimal value.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-4806937647900580713</id><published>2011-09-12T13:11:00.000-04:00</published><updated>2011-09-12T13:11:42.853-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IEnumerator'/><category scheme='http://www.blogger.com/atom/ns#' term='GetEnumerator()'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Using  GetEnumerator()</title><content type='html'>&lt;blockquote&gt;Testing ASCII values of user input&lt;/blockquote&gt;&lt;br /&gt;byte[] _asciiAnswer = Encoding.ASCII.GetBytes(AnswerTb.Text.Trim());&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;IEnumerator _asciiChars = _asciiAnswer.GetEnumerator();&lt;/span&gt;&lt;br /&gt;while (_asciiChars.MoveNext())&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;byte _char = (byte)_asciiChars.Current;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (_char &gt;= 65 &amp;&amp; _char &lt;= 90)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsUpperCase = true;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-4806937647900580713?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/4806937647900580713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=4806937647900580713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4806937647900580713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4806937647900580713'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/09/using-getenumerator.html' title='Using  GetEnumerator()'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-1167514121750902773</id><published>2011-08-25T14:38:00.000-04:00</published><updated>2011-08-25T14:38:30.946-04:00</updated><title type='text'>Syntax, C#</title><content type='html'>&lt;blockquote&gt;a ? b : c;&lt;br /&gt;x = x ?? 5;&lt;/blockquote&gt;&lt;br /&gt;Set x to b if a is true, otherwise set x to c.&lt;br /&gt;&lt;span style="color:red"&gt;x = a ? b : c;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Set x to x if x is not null, otherwise initialize x.&lt;br /&gt;&lt;span style="color:red"&gt;x = x ?? new x();&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-1167514121750902773?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/1167514121750902773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=1167514121750902773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1167514121750902773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1167514121750902773'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/08/syntax-c.html' title='Syntax, C#'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-1013470905008680395</id><published>2011-07-13T14:21:00.000-04:00</published><updated>2011-07-13T14:21:20.270-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='feed'/><title type='text'>Get XML from RSS</title><content type='html'>&lt;blockquote&gt;To get the XML from an RSS feed, view the source of the page.  Programmatically, the following can be used:&lt;br /&gt;&lt;/blockquote&gt;HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(url);&lt;br /&gt;&lt;br /&gt;httpReq.Method = @"GET";&lt;br /&gt;httpReq.ContentType = @"text/xml";&lt;br /&gt;httpReq.Timeout = 600000; &lt;br /&gt;httpReq.KeepAlive = false;&lt;br /&gt;&lt;br /&gt;HttpWebResponse resp = (HttpWebResponse)httpReq.GetResponse();&lt;br /&gt;StreamReader srdr = new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding("UTF-8"));&lt;br /&gt;string xmlstr = srdr.ReadToEnd();&lt;br /&gt;resp.Close();&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red; font:bold"&gt;At this point, the XML is in the string xmlstr, this can then be loaded into an XML document or utilized as is.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-1013470905008680395?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/1013470905008680395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=1013470905008680395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1013470905008680395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1013470905008680395'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/07/get-xml-from-rss.html' title='Get XML from RSS'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6675685289720372917</id><published>2011-05-11T15:43:00.000-04:00</published><updated>2011-05-11T15:43:15.003-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='sort'/><category scheme='http://www.blogger.com/atom/ns#' term='pubdate'/><title type='text'>RSS date sort with pubdate</title><content type='html'>&lt;blockquote&gt;Problems with RSS date sorting could be caused by the formatting of the date.&lt;br /&gt;&lt;/blockquote&gt;Use the format below:&lt;br /&gt;&lt;span style="color:red"&gt;&amp;lt;pubdate&amp;gt;startdate.ToString("o")&amp;lt;/pubdate&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will produce the format within the feed which will sort appropriately.&lt;br /&gt;&lt;span style="color:red"&gt;&amp;lt;pubdate&amp;gt;2011-04-28T00:00:00.0000000&amp;lt;/pubdate&amp;gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6675685289720372917?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6675685289720372917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6675685289720372917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6675685289720372917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6675685289720372917'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/05/rss-date-sort-with-pubdate.html' title='RSS date sort with pubdate'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-1684415785104948484</id><published>2011-04-08T12:10:00.000-04:00</published><updated>2011-04-08T12:10:06.871-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='hidden field'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Using hidden field to confirm status before postback</title><content type='html'>&lt;span style="color:red"&gt;Declare in page&lt;/span&gt;&lt;br /&gt;&amp;lt;input type="hidden" id="confirmed" name="confirmed" value=""&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Set up javascript validation&lt;/span&gt;&lt;br /&gt;function SelectBtn_Click(src, e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;var f = document.MyForm;&lt;br /&gt;&amp;nbsp;&amp;nbsp;var v = f.NumberOfTxt.value;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (IsStringOfDigits(v) &amp;&amp; confirm("Are you sure you want to &amp;nbsp;&amp;nbsp;select " + v + "?\n If \"Yes\" click OK, otherwise click   Cancel."))&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.MyForm.confirmed.value = "Y";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;event.returnValue = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.MyForm.confirmed.value = "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;event.returnValue = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false; &lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Set attribute in code behind&lt;/span&gt;&lt;br /&gt;this.SelectBtn.Attributes["onclick"] = "return SelectBtn_Click(this, event);";&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;In postback, check the hidden value&lt;/span&gt;&lt;br /&gt;"Y".Equals(Request.Form["confirmed"])&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-1684415785104948484?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/1684415785104948484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=1684415785104948484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1684415785104948484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1684415785104948484'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/04/using-hidden-field-to-confirm-status.html' title='Using hidden field to confirm status before postback'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6578977361216675421</id><published>2011-03-29T09:09:00.000-04:00</published><updated>2011-03-29T09:09:08.996-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='cmd'/><category scheme='http://www.blogger.com/atom/ns#' term='Command Prompt'/><title type='text'>FTP from command prompt</title><content type='html'>C:\&gt;ftp ftp.server.com&lt;br /&gt;Connected to ftp.server.com.&lt;br /&gt;220 You have connected to ftp.server.com&lt;br /&gt;User (ftp.server.com:(none)): username&lt;br /&gt;331 User name okay, need password.&lt;br /&gt;Password:&lt;br /&gt;230 User logged in, proceed.&lt;br /&gt;ftp&gt; dir&lt;br /&gt;200 PORT Command successful.&lt;br /&gt;150 Opening ASCII mode data connection for /bin/ls.&lt;br /&gt;drw-rw-rw-   1 user     group           0 Feb  8 16:10 .&lt;br /&gt;drw-rw-rw-   1 user     group           0 Feb  8 16:10 ..&lt;br /&gt;drw-rw-rw-   1 user     group           0 Oct 25 10:00 blah&lt;br /&gt;drw-rw-rw-   1 user     group           0 Oct 21 12:17 blah2&lt;br /&gt;4 Transfer complete.&lt;br /&gt;ftp: 2987 bytes received in 0.25Seconds 11.95Kbytes/sec.&lt;br /&gt;ftp&gt; cd blah2&lt;br /&gt;250 Directory changed to /blah2&lt;br /&gt;ftp&gt; dir&lt;br /&gt;200 PORT Command successful.&lt;br /&gt;150 Opening ASCII mode data connection for /bin/ls.&lt;br /&gt;drw-rw-rw-   1 user     group           0 Feb  8 16:22 .&lt;br /&gt;drw-rw-rw-   1 user     group           0 Feb  8 16:22 ..&lt;br /&gt;-rw-rw-rw-   1 user     group       13824 Feb  8 16:22 test spreadsheet only.xls&lt;br /&gt; &lt;br /&gt;226 Transfer complete.&lt;br /&gt;ftp: 199 bytes received in 0.00Seconds 199000.00Kbytes/sec.&lt;br /&gt;ftp&gt; &lt;span style="color:red"&gt;put C:\LocalMachine\Applications\ConsolidatedData.xls&lt;/span&gt;&lt;br /&gt;200 PORT Command successful.&lt;br /&gt;150 Opening ASCII mode data connection for consolidateddata.xls.&lt;br /&gt;226 Transfer complete.&lt;br /&gt;ftp: 640512 bytes sent in 6.38Seconds 100.47Kbytes/sec.&lt;br /&gt;ftp&gt; dir&lt;br /&gt;200 PORT Command successful.&lt;br /&gt;150 Opening ASCII mode data connection for /bin/ls.&lt;br /&gt;drw-rw-rw-   1 user     group           0 Feb  9 09:37 .&lt;br /&gt;drw-rw-rw-   1 user     group           0 Feb  9 09:37 ..&lt;br /&gt;-rw-rw-rw-   1 user     group      640512 Feb  9 09:37 consolidateddata.xls&lt;br /&gt;-rw-rw-rw-   1 user     group       13824 Feb  8 16:22 test spreadsheet only.xls&lt;br /&gt; &lt;br /&gt;226 Transfer complete.&lt;br /&gt;ftp: 276 bytes received in 0.00Seconds 276000.00Kbytes/sec.&lt;br /&gt;ftp&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;&lt;br /&gt;&lt;b&gt;* Note:&lt;/b&gt; To send a link directly to ftp with the credentials within the link, it should be in the form: ftp://blah:pa3sw0rd@ftp.server.com&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6578977361216675421?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6578977361216675421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6578977361216675421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6578977361216675421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6578977361216675421'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/03/ftp-from-command-prompt.html' title='FTP from command prompt'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-7084177569481481856</id><published>2011-03-09T12:18:00.000-05:00</published><updated>2011-03-09T12:18:52.397-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='table update'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='trigger'/><title type='text'>SQL detect table data change with Update Trigger</title><content type='html'>ALTER TRIGGER [dbo].[Table_OnUpdate] ON [dbo].[Table]&lt;br /&gt;FOR UPDATE&lt;br /&gt;AS&lt;br /&gt;&lt;br /&gt;DECLARE @firstname_changed BIT&lt;br /&gt;DECLARE @lastname_changed BIT&lt;br /&gt;DECLARE @middlename_changed BIT&lt;br /&gt;&lt;br /&gt;SELECT &lt;br /&gt; @firstname_changed = CASE WHEN i.firstname &lt;&gt; d.firstname THEN 1 ELSE 0 END,&lt;br /&gt; @lastname_changed = CASE WHEN i.lastname &lt;&gt; d.lastname THEN 1 ELSE 0 END,&lt;br /&gt; @middlename_changed = CASE WHEN i.middlename &lt;&gt; d.middlename THEN 1 ELSE 0 END&lt;br /&gt;FROM inserted i INNER JOIN deleted d ON i.tableid=d.tableid&lt;br /&gt;&lt;br /&gt;IF ((@firstname_changed  = 1) OR (@lastname_changed = 1))&lt;br /&gt;BEGIN&lt;br /&gt;&lt;span style="color:red"&gt;--Table data changed&lt;/span&gt;&lt;br /&gt;END&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-7084177569481481856?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/7084177569481481856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=7084177569481481856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7084177569481481856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7084177569481481856'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/03/sql-detect-table-data-change-with.html' title='SQL detect table data change with Update Trigger'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-7496609399748780226</id><published>2011-01-21T09:17:00.002-05:00</published><updated>2011-01-21T09:19:39.107-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='error message'/><category scheme='http://www.blogger.com/atom/ns#' term='Ambiguous match found'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET conversion'/><title type='text'>Parser Error Message: Ambiguous match found.</title><content type='html'>This error was being received after converting a project from .NET 1.1 to 3.5. &lt;br /&gt;The issue is most likely due to two variable names in code behind differing only by case.&lt;br /&gt;&lt;br /&gt;Here are two links for further research if needed:&lt;br /&gt;&lt;a href="http://weblogs.asp.net/pjohnson/archive/2006/08/11/Ambiguous-match-found.aspx" target="_blank"&gt;Peter Johnson's blog (real name??)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dotnetdebug.net/2006/03/21/ambiguous-match-found-in-a-web-control-a-possible-bug/" target="_blank"&gt;Eran Sandler's post.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-7496609399748780226?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/7496609399748780226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=7496609399748780226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7496609399748780226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7496609399748780226'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/01/parser-error-message-ambiguous-match.html' title='Parser Error Message: Ambiguous match found.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-2939246200640097129</id><published>2011-01-10T13:42:00.001-05:00</published><updated>2011-01-10T13:42:34.923-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='visual studios'/><category scheme='http://www.blogger.com/atom/ns#' term='VS'/><title type='text'>Assembly's manifest definition does not match the assembly reference</title><content type='html'>This error can occur if an attempt is made to reference a different version of a .dll and the previous .dll is being imported during compilation.  &lt;br /&gt;&lt;br /&gt;&lt;span style="color:red; font-weight:bold"&gt;To fix this issue:&lt;/span&gt; &lt;br /&gt;&lt;ul&gt;&lt;li&gt; Bring up the properties of the project having the problem &lt;/li&gt;&lt;li&gt; Click on the "Reference Paths" tab &lt;/li&gt;&lt;li&gt; Verify that the reference path defined is the actual path of the .dll that should be referenced. &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/7971282685828719709-2939246200640097129?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/2939246200640097129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=2939246200640097129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/2939246200640097129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/2939246200640097129'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2011/01/assemblys-manifest-definition-does-not.html' title='Assembly&apos;s manifest definition does not match the assembly reference'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-3930239889637410914</id><published>2010-12-17T12:25:00.002-05:00</published><updated>2010-12-17T12:26:24.047-05:00</updated><title type='text'>Update the result of an inner join from a SQL table</title><content type='html'>UPDATE @result&lt;br /&gt;SET selectiondate=eventdatetime&lt;br /&gt;FROM @result r&lt;br /&gt;INNER JOIN (&lt;br /&gt;&amp;nbsp;&amp;nbsp;SELECT r.id, MAX(h.EventDateTime) eventdatetime&lt;br /&gt;&amp;nbsp;&amp;nbsp;FROM @result r&lt;br /&gt;&amp;nbsp;&amp;nbsp;LEFT JOIN statehistory h WITH (NOLOCK) ON h.id = r.id AND h.eventid = @CONST_SelectedEvent &lt;br /&gt;&amp;nbsp;&amp;nbsp;GROUP BY r.id&lt;br /&gt;) d ON d.id=r.id&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-3930239889637410914?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/3930239889637410914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=3930239889637410914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/3930239889637410914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/3930239889637410914'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/12/update-result-of-inner-join-from-sql.html' title='Update the result of an inner join from a SQL table'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5005525930093133881</id><published>2010-11-23T19:43:00.000-05:00</published><updated>2010-11-23T19:43:21.471-05:00</updated><title type='text'>Page Lifecycle</title><content type='html'>Simple graphic showing an asp.net pages lifecycle&lt;br /&gt;&lt;br /&gt;&lt;a href="http://goo.gl/photos/4Zg4wzWnE4" imageanchor="1" style="clear:right;margin-bottom:1em;margin-left:1em"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_MCxnfx2MzIM/TOxfZZX1o4I/AAAAAAAAAaA/eu_fIkhR8Zc/s512/page%20lifecycle.gif.jpg"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5005525930093133881?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5005525930093133881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5005525930093133881' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5005525930093133881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5005525930093133881'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/11/page-lifecycle.html' title='Page Lifecycle'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_MCxnfx2MzIM/TOxfZZX1o4I/AAAAAAAAAaA/eu_fIkhR8Zc/s72-c/page%20lifecycle.gif.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5278307417964230067</id><published>2010-10-28T11:44:00.000-04:00</published><updated>2010-10-28T11:44:33.279-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Column not XML'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Manage XML data in SQL column when column is not of type XML</title><content type='html'>&lt;blockquote&gt;Below is a way to manage XML in SQL when the column is not of type XML&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color:red"&gt;First, cast the data into a temp table as XML&lt;/span&gt;&lt;br /&gt;DECLARE @results TABLE (Id INT, Detail XML)&lt;br /&gt;--Filter results&lt;br /&gt;INSERT INTO @results&lt;br /&gt;select t.Id, d.extrainfo&lt;br /&gt;from tableOne t&lt;br /&gt;inner join into i on i.Id=t.Id&lt;br /&gt;where i.institutionid=6 and t.state &lt; 270&lt;/br&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Combine relevent data for easier manipulation&lt;/span&gt;&lt;br /&gt;DECLARE @x XML; &lt;br /&gt;SELECT @x = ( SELECT &lt;br /&gt;&amp;nbsp;&amp;nbsp;[Id],&lt;br /&gt;&amp;nbsp;&amp;nbsp;[Detail].query(' &lt;br /&gt;&amp;nbsp;&amp;nbsp;for $a in /*:RootNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;return &lt;detail &amp;nbsp;&amp;nbsp;date="{$a/*:Date}"/&gt; ') &lt;br /&gt;FROM @results AS results &lt;br /&gt;FOR XML AUTO);&lt;br /&gt;&lt;/br&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Simple select statement&lt;/span&gt;&lt;br /&gt;SELECT  Id = T.Item.value('../@Id', 'INT'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;Date = T.Item.value('@date', 'DATETIME')&lt;br /&gt;FROM @x.nodes('results/detail') as T(Item)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5278307417964230067?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5278307417964230067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5278307417964230067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5278307417964230067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5278307417964230067'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/10/manage-xml-data-in-sql-column-when.html' title='Manage XML data in SQL column when column is not of type XML'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-4877626317691505202</id><published>2010-10-20T17:30:00.000-04:00</published><updated>2010-10-20T17:30:39.970-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Save DataSet as XML'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='DataSet'/><title type='text'>Save DataSet as XML and then Recreate the DataSet from saved XML</title><content type='html'>&lt;blockquote&gt;In this example, the DataSet is also prepended with a distinct node that can be used to include specific data the DataSet didn't include.&lt;/blockquote&gt;&lt;br /&gt;using(DataSet ds = GetSpecificData(dataID)){&lt;br /&gt;&amp;nbsp;&amp;nbsp;XmlDocument xd = new XmlDocument();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:red"&gt;//Here is where the unique node is created and added to the XmlDocument&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;XmlNode node = xd.CreateNode(XmlNodeType.Element, "NewRootOfXML", null);&lt;br /&gt;&amp;nbsp;&amp;nbsp;xd.AppendChild(node);&lt;br /&gt;    &lt;br /&gt;&amp;nbsp;&amp;nbsp;using(MemoryStream ms = new MemoryStream()) { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ds.WriteXml(ms); &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:red"&gt;//Reset the position to the start of the stream&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ms.Seek(0, SeekOrigin.Begin); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StreamReader sr = new StreamReader(ms);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node.InnerXml = sr.ReadToEnd();&lt;br /&gt;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;xd.SaveTheXML();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;XmlDocument xDoc = TheSavedXML();&lt;br /&gt;&amp;nbsp;&amp;nbsp;XmlNode nd = xDoc .SelectSingleNode("/NewRootOfXML");&lt;br /&gt;   &lt;br /&gt;&amp;nbsp;&amp;nbsp;DataSet data = new DataSet();&lt;br /&gt;&amp;nbsp;&amp;nbsp;XmlTextReader reader = new XmlTextReader(nd.InnerXml, XmlNodeType.Element, null);&lt;br /&gt;&amp;nbsp;&amp;nbsp;data.ReadXml(reader);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-4877626317691505202?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/4877626317691505202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=4877626317691505202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4877626317691505202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4877626317691505202'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/10/save-dataset-as-xml-and-then-recreate.html' title='Save DataSet as XML and then Recreate the DataSet from saved XML'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-4128426623096290025</id><published>2010-10-15T12:58:00.000-04:00</published><updated>2010-10-15T12:58:46.311-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='select specific rows'/><category scheme='http://www.blogger.com/atom/ns#' term='paging'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL paging or selecting a specific range of rows</title><content type='html'>&lt;blockquote&gt;With a large set of data within a table, it is time consuming to query the entire set.  To quickly return a specific section, follow the example below.&lt;/blockquote&gt;&lt;br /&gt;SELECT *&lt;br /&gt;FROM &lt;br /&gt;&amp;nbsp;&amp;nbsp;(SELECT row_number() over (order by first, last DESC) as row, i.first, i.last, i.ex&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM information i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE i.infotype = @type &lt;br /&gt;&amp;nbsp;&amp;nbsp;) AS Results&lt;br /&gt;WHERE row BETWEEN 19000 AND 19900&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-4128426623096290025?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/4128426623096290025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=4128426623096290025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4128426623096290025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4128426623096290025'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/10/sql-paging-or-selecting-specific-range.html' title='SQL paging or selecting a specific range of rows'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-4267344904643522796</id><published>2010-08-23T10:02:00.003-04:00</published><updated>2010-08-23T10:04:19.004-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Multiline Textbox'/><category scheme='http://www.blogger.com/atom/ns#' term='MaxLength Textbox not working'/><category scheme='http://www.blogger.com/atom/ns#' term='MaxLength'/><title type='text'>Create MaxLength on Textbox</title><content type='html'>&lt;blockquote&gt;Using the simple script below, multi-line textboxes will prevent a user from exceeding the MaxLength property.&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color:red"&gt;* Note - using System.Text;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;StringBuilder funcStr = new StringBuilder();&lt;br /&gt;funcStr.Append("function isMaxLength(txtBox) {");&lt;br /&gt;funcStr.Append("if(txtBox){");&lt;br /&gt;funcStr.AppendFormat("return(txtBox.value.length &lt;= {0});", aTextBox.MaxLength);&lt;br /&gt;funcStr.Append("}}");&lt;br /&gt;&lt;br /&gt;aTextBox.Attributes.Add("onkeypress", "return isMaxLength(this);");&lt;br /&gt;&lt;br /&gt;ClientScript.RegisterClientScriptBlock(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.GetType(), &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;"txtLength", &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;funcStr.ToString() , true);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-4267344904643522796?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/4267344904643522796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=4267344904643522796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4267344904643522796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4267344904643522796'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/08/create-maxlength-on-textbox.html' title='Create MaxLength on Textbox'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-2313689904604952102</id><published>2010-08-16T15:14:00.003-04:00</published><updated>2010-08-16T15:27:36.145-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='track visibility'/><category scheme='http://www.blogger.com/atom/ns#' term='hidden input'/><title type='text'>Using hidden field to track panels visibility</title><content type='html'>&lt;blockquote&gt;To track the javascript visibility changes of a panel in code behind, follow the description below.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;&lt;b&gt;Within the pages Form element&lt;/b&gt; add a hidden input field&lt;/span&gt;&lt;br /&gt;&amp;lt;input type="hidden" name="panelStatus" id="panelStatus" value=""&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Javascript that was set-up to handle the onclick event&lt;/span&gt;&lt;br /&gt;function ShowHidePanel(img, id){&lt;br /&gt;var panel = document.getElementById(id);&lt;br /&gt;var status = document.getElementById("panelStatus");&lt;br /&gt;&lt;br /&gt;if(panel != null){&lt;br /&gt;&amp;nbsp;&amp;nbsp;if(panel.style.display == ""){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;panel.style.display = "none"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.src = "/images/icn_plus.gif";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;status.value = "closed";&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;panel.style.display = "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.src = "/images/icn_minus.gif";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;status.value = "open";&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;Grab current value in code behind and adjust panel accordingly&lt;/span&gt;&lt;br /&gt;string status = Request.Form["panelStatus"]; &lt;br /&gt;ViewState["panelStatus"] = StringHelper.IsNullOrEmpty(status) ? ViewState["panelStatus"] : status;&lt;br /&gt;if(ViewState["panelStatus"] != null &amp;&amp; "open".Equals(ViewState["panelStatus"])) &lt;br /&gt;&amp;nbsp;&amp;nbsp;this.ShowHidePanel.Style.Add("display", "");&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.ShowHideImg.ImageUrl="/images/icn_minus.gif";&lt;br /&gt;}&lt;br /&gt;else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.ShowHidePanel.Style.Add("display", "none");&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.ShowHideImg.ImageUrl="/images/icn_plus.gif";&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-2313689904604952102?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/2313689904604952102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=2313689904604952102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/2313689904604952102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/2313689904604952102'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/08/using-hidden-field-to-track-panels.html' title='Using hidden field to track panels visibility'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5234136275875362189</id><published>2010-07-14T15:34:00.004-04:00</published><updated>2010-07-14T15:39:28.446-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SP efficiency'/><category scheme='http://www.blogger.com/atom/ns#' term='stored procedure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Testing two stored procedures efficiency</title><content type='html'>&lt;blockquote&gt;Here is a quick SQL statement that will report on CPU and elapsed time for specified stored procedures.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;USE DatabaseName&lt;br /&gt;GO&lt;br /&gt; &lt;br /&gt;&lt;span style="color:red"&gt;SET STATISTICS TIME ON&lt;/span&gt;&lt;br /&gt;GO&lt;br /&gt;PRINT '---------------- START SP 1 ------------------------' &lt;br /&gt;EXEC stored_proc1&lt;br /&gt;PRINT '---------------- END SP 1 --------------------------'&lt;br /&gt;GO&lt;br /&gt; &lt;br /&gt;PRINT '---------------- START SP 2 ------------------------'&lt;br /&gt;EXEC stored_proc2&lt;br /&gt;PRINT '---------------- END SP 2 --------------------------'&lt;br /&gt;GO&lt;br /&gt; &lt;br /&gt;&lt;span style="color:red"&gt;SET STATISTICS TIME OFF&lt;/span&gt;&lt;br /&gt;GO&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5234136275875362189?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5234136275875362189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5234136275875362189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5234136275875362189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5234136275875362189'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/07/testing-two-stored-procedures.html' title='Testing two stored procedures efficiency'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5819164059583001910</id><published>2010-07-01T11:10:00.002-04:00</published><updated>2010-07-01T11:20:32.881-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataGrid'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET 1.1'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='DataBind'/><title type='text'>Bind XML to DataGrid</title><content type='html'>&lt;blockquote&gt;Binding XML from a data table to a DataGrid&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color:red; font-weight:bold"&gt;Code Behind&lt;/span&gt;&lt;br /&gt;string xml = null;&lt;br /&gt;while(reader.Read()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;xml = reader["Responses"].ToString();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;StringReader stream = new StringReader(xml);&lt;br /&gt;&lt;br /&gt;using(DataSet ds = new DataSet()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;ds.ReadXml(stream, XmlReadMode.InferSchema);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;ResultsDataGrid.DataSource = ds;&lt;br /&gt;&amp;nbsp;&amp;nbsp;ResultsDataGrid.DataBind();&lt;br /&gt;}&lt;br /&gt;&lt;/br&gt;&lt;br /&gt;&lt;span style="color:red; font-weight:bold"&gt;aspx page&lt;/span&gt;&lt;br /&gt;&amp;lt;asp:datagrid id="ResultsDataGrid" runat="server" AutoGenerateColumns="false"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;Columns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:BoundColumn DataField="LABEL" HeaderText="Question"&gt;&amp;lt;/asp:BoundColumn&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:BoundColumn DataField="RESPONSE" HeaderText="Response"&gt;&amp;lt;/asp:BoundColumn&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/Columns&amp;gt;&lt;br /&gt;&amp;lt;/asp:datagrid&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5819164059583001910?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5819164059583001910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5819164059583001910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5819164059583001910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5819164059583001910'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/07/bind-xml-to-datagrid.html' title='Bind XML to DataGrid'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-8375668619661025990</id><published>2010-06-30T10:43:00.003-04:00</published><updated>2010-08-16T15:29:53.709-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='autofocus'/><category scheme='http://www.blogger.com/atom/ns#' term='textbox'/><title type='text'>Auto focus textbox</title><content type='html'>&lt;blockquote&gt;To auto focus the first textbox on each pageload:&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color:red; font-weight:bold"&gt;1.) Copy the function below into the base page:&lt;/span&gt;&lt;br /&gt;private void FocusFirstTextBox(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;StringBuilder buildScript = new StringBuilder();&lt;br /&gt;&amp;nbsp;&amp;nbsp;buildScript.Append("var boxes = document.getElementsByTagName('input');");&lt;br /&gt;&amp;nbsp;&amp;nbsp;buildScript.Append("for(var i = 0; i &lt; boxes.length; i++) {");&lt;br /&gt;&amp;nbsp;&amp;nbsp;buildScript.Append("if(boxes[i].type == 'text' &amp;&amp; boxes[i].disabled == false &amp;&amp; boxes[i].style.display != 'none'){");&lt;br /&gt;&amp;nbsp;&amp;nbsp;buildScript.Append("boxes[i].focus();");&lt;br /&gt;&amp;nbsp;&amp;nbsp;buildScript.Append("break;");&lt;br /&gt;&amp;nbsp;&amp;nbsp;buildScript.Append("}}");&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.RegisterStartupScript(Guid.NewGuid().ToString(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;"&lt;script language=\"javascript\"&gt;\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;+ buildScript.ToString()&lt;br /&gt;&amp;nbsp;&amp;nbsp;+"&lt;/script&gt;");&lt;br /&gt;}&lt;br /&gt;&lt;/br&gt;&lt;br /&gt;&lt;span style="color:red; font-weight:bold"&gt;2.) Copy this function call into the base pages OnPreRender:&lt;/span&gt;&lt;br /&gt;protected override void OnPreRender(EventArgs e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;base.OnPreRender (e);&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.FocusFirstTextBox();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-8375668619661025990?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/8375668619661025990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=8375668619661025990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8375668619661025990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8375668619661025990'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2010/06/auto-focus-textbox.html' title='Auto focus textbox'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5690502879141516614</id><published>2009-12-10T12:00:00.002-05:00</published><updated>2009-12-10T12:04:44.382-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Auto Shut Down'/><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><category scheme='http://www.blogger.com/atom/ns#' term='visual studios'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugger'/><title type='text'>Visual Studios debugger automatically stopping when IE comes up.</title><content type='html'>&lt;strong&gt;I installed IE8 and the debugger in Visual Studios stopped working.  I found this solution on the interwebs and it worked for my system (Visual Studio 2003, WinXP):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;IE 8 has a feature called Loosely-Coupled Internet Explorer (LCIE) which results in IE running across multiple processes.&lt;br /&gt;&lt;br /&gt;http://www.microsoft.com/windows/internet-explorer/beta/readiness/developers-existing.aspx#lcie&lt;br /&gt;&lt;br /&gt;Older versions of the Visual Studio Debugger get confused by this and cannot figure out how to attach to the correct process. You can work around this by disabling the process growth feature of LCIE. Here's how:&lt;br /&gt;&lt;br /&gt;1.Open RegEdit&lt;br /&gt;2.Browse to HKEY_LOCALMACHINE -&gt; SOFTWARE -&gt; Microsoft -&gt; Internet Explorer -&gt; Main&lt;br /&gt;3.Add a dword under this key called TabProcGrowth&lt;br /&gt;4.Set TabProcGrowth to 0&lt;br /&gt;Since you are running on Windows Server 2003, this is all you should need to do. If you run into the same problem on Vista or newer, you will also need to turn off protected mode.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5690502879141516614?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5690502879141516614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5690502879141516614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5690502879141516614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5690502879141516614'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/12/visual-studios-debugger-automatically.html' title='Visual Studios debugger automatically stopping when IE comes up.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-2318501526142841322</id><published>2009-12-10T09:45:00.002-05:00</published><updated>2009-12-10T10:07:33.926-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.xls'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='.xslt Convertsion'/><category scheme='http://www.blogger.com/atom/ns#' term='DataSet Conversion'/><category scheme='http://www.blogger.com/atom/ns#' term='DataSet'/><category scheme='http://www.blogger.com/atom/ns#' term='.xslt'/><title type='text'>Convert DataSet to Excel document</title><content type='html'>Below is a quick description on how to convert a DataSet to an Excel sheet.  It applies XslTransform to a DataSet and writes the results to the Response.OutputStream of a web request.  This will allow for a user to save or open the data as Excel.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Populate a DataSet:&lt;/strong&gt;&lt;br /&gt;using (&lt;span style="color:red"&gt;DataSet ds = Service.GetSummary(UserId, Filter1, Filter2)&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;...  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Configure Response object:&lt;/strong&gt;&lt;br /&gt;Response.Clear();&lt;br /&gt;Response.ContentType = &lt;span style="color:red"&gt;"application/vnd.ms-excel"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Configure XslTransform:&lt;/strong&gt;&lt;br /&gt;XmlDataDocument xmlDoc = new XmlDataDocument(ds);&lt;br /&gt;XslTransform xslTran = new XslTransform();&lt;br /&gt;xslTran.Load(Server.MapPath("ExcelTransformFormat.xslt"));&lt;br /&gt;&lt;span style="color:red; text-weight:bold"&gt;Note: "ExcelTransformFormat.xslt" will need to be adjusted. Below is an example, but it will need to be modified to reflect the DataSet it is being used to transform.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Write results to Response:&lt;/strong&gt;&lt;br /&gt;xslTran.Transform(xmlDoc, null, Response.OutputStream, null);&lt;br /&gt;Response.AppendHeader("Content-Disposition", "attachment; filename=Name.xls");&lt;br /&gt;Response.End();   &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example .xslt Transform File &lt;/strong&gt;&lt;br /&gt;&amp;lt;xsl:stylesheet version="1.0"&lt;br /&gt;    xmlns="urn:schemas-microsoft-com:office:spreadsheet"&lt;br /&gt;    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" &lt;br /&gt; xmlns:msxsl="urn:schemas-microsoft-com:xslt"&lt;br /&gt; xmlns:user="urn:my-scripts"&lt;br /&gt; xmlns:o="urn:schemas-microsoft-com:office:office"&lt;br /&gt; xmlns:x="urn:schemas-microsoft-com:office:excel"&lt;br /&gt; xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" &amp;gt;   &lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:template match="NewDataSet"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"&lt;br /&gt; xmlns:o="urn:schemas-microsoft-com:office:office"&lt;br /&gt; xmlns:x="urn:schemas-microsoft-com:office:excel"&lt;br /&gt; xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"&lt;br /&gt; xmlns:html="http://www.w3.org/TR/REC-html40"&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;Styles&amp;gt;&lt;br /&gt;  &amp;lt;Style ss:ID="Default" ss:Name="Normal"&amp;gt;&lt;br /&gt;   &amp;lt;Alignment ss:Vertical="Bottom"/&amp;gt;&lt;br /&gt;   &amp;lt;Borders/&amp;gt;&lt;br /&gt;   &amp;lt;Font/&amp;gt;&lt;br /&gt;   &amp;lt;Interior/&amp;gt;&lt;br /&gt;   &amp;lt;NumberFormat/&amp;gt;&lt;br /&gt;   &amp;lt;Protection/&amp;gt;&lt;br /&gt;  &amp;lt;/Style&amp;gt;&lt;br /&gt;  &amp;lt;Style ss:ID="s21"&amp;gt;&lt;br /&gt;   &amp;lt;Font ss:Bold="1"/&amp;gt;&lt;br /&gt;   &amp;lt;Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/&amp;gt;&lt;br /&gt;  &amp;lt;/Style&amp;gt;&lt;br /&gt;  &amp;lt;Style ss:ID="s22"&amp;gt;&lt;br /&gt;   &amp;lt;Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/&amp;gt;&lt;br /&gt;   &amp;lt;Font ss:Bold="1"/&amp;gt;&lt;br /&gt;   &amp;lt;Interior ss:Color="#99CCFF" ss:Pattern="Solid"/&amp;gt;&lt;br /&gt;  &amp;lt;/Style&amp;gt;&lt;br /&gt; &amp;lt;/Styles&amp;gt;&lt;br /&gt; &amp;lt;Worksheet&amp;gt;&lt;br /&gt; &amp;lt;xsl:attribute name="ss:Name"&amp;gt;&lt;br /&gt;   &amp;lt;xsl:value-of select='concat("RGN", Table/region, "DST", Table/district)'/&amp;gt;&lt;br /&gt; &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;  &amp;lt;Table ss:ExpandedColumnCount="17"&amp;gt;&lt;br /&gt;    &amp;lt;xsl:attribute name="ss:ExpandedRowCount" &amp;gt;&lt;br /&gt;  &amp;lt;xsl:value-of select="count(Table)+10"/&amp;gt;&lt;br /&gt; &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;   &amp;lt;Column ss:AutoFitWidth="0" ss:Width="30"/&amp;gt;&lt;br /&gt;   &amp;lt;Column ss:AutoFitWidth="0" ss:Width="30"/&amp;gt;&lt;br /&gt;   &amp;lt;Column ss:AutoFitWidth="0" ss:Width="50"/&amp;gt;&lt;br /&gt;  &amp;lt;Row&amp;gt;&lt;br /&gt;    &amp;lt;Cell ss:StyleID="s21"&amp;gt;&amp;lt;Data ss:Type="String"&amp;gt;RGN&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;    &amp;lt;Cell ss:StyleID="s21"&amp;gt;&amp;lt;Data ss:Type="String"&amp;gt;DST&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;    &amp;lt;Cell ss:StyleID="s21"&amp;gt;&amp;lt;Data ss:Type="String"&amp;gt;Location&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt; &lt;br /&gt;   &amp;lt;/Row&amp;gt;&lt;br /&gt;    &amp;lt;xsl:apply-templates select="Table"/&amp;gt;&lt;br /&gt;  &amp;lt;/Table&amp;gt;&lt;br /&gt; &amp;lt;/Worksheet&amp;gt;&lt;br /&gt;&amp;lt;/Workbook&amp;gt;&lt;br /&gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&amp;lt;xsl:template match="Table"&amp;gt;&lt;br /&gt;   &amp;lt;Row&amp;gt;&lt;br /&gt;    &amp;lt;Cell&amp;gt;&amp;lt;Data ss:Type="String"&amp;gt;&amp;lt;xsl:value-of select="region"/&amp;gt;&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt; &amp;lt;Cell&amp;gt;&amp;lt;Data ss:Type="String"&amp;gt;&amp;lt;xsl:value-of select="district"/&amp;gt;&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt; &amp;lt;Cell&amp;gt;&amp;lt;Data ss:Type="String"&amp;gt;&amp;lt;xsl:value-of select="location"/&amp;gt;&amp;lt;/Data&amp;gt;&amp;lt;/Cell&amp;gt;&lt;br /&gt;   &amp;lt;/Row&amp;gt;  &lt;br /&gt;&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&amp;lt;/xsl:stylesheet&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-2318501526142841322?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/2318501526142841322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=2318501526142841322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/2318501526142841322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/2318501526142841322'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/12/convert-dataset-to-excel-document.html' title='Convert DataSet to Excel document'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6377181441422289447</id><published>2009-10-24T15:37:00.002-04:00</published><updated>2009-10-24T15:45:36.334-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='automatic logout'/><title type='text'>Automatic webpage logout</title><content type='html'>&lt;strong&gt;Below is some javascript that can be added to any page in order to automatically log out a user after a given amount of time.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language="javascript"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//function __logout(msg, loc ) {alert(msg); location.href = loc;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//function __startLogoutCountdown(){window.setTimeout("__logout('Login Expired: === \\nThis site uses a security feature that automatically logs you out from your session after 16 minutes. You may login again to continue your session.', '&amp;lt;%=Request.ApplicationPath%&amp;gt;/Logout.aspx');", 960000);};&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6377181441422289447?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6377181441422289447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6377181441422289447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6377181441422289447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6377181441422289447'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/10/automatic-webpage-logout.html' title='Automatic webpage logout'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-7124121020430291778</id><published>2009-09-25T13:20:00.002-04:00</published><updated>2009-09-25T13:26:01.374-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='replaceall'/><category scheme='http://www.blogger.com/atom/ns#' term='replace'/><title type='text'>Javascript ReplaceAll</title><content type='html'>In order to replace all occurrences of a particular string or char, you can use the format below:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;replace(//g, "");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lets say there is a variable: var tag = ctl0_Parent:Child:Item;&lt;br /&gt;&lt;span style="color:red"&gt;var itm = tag.replace(":", "_");&lt;/span&gt;&lt;br /&gt;will result with itm being equal to: ctl0_Parent_Child:Item&lt;br /&gt;&lt;span style="color:red"&gt;var itm = tag.replace(/:/g, "_");&lt;/span&gt;&lt;br /&gt;on the other hand, will result in itm being equal to: ctl0_Parent_Child_Item&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-7124121020430291778?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/7124121020430291778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=7124121020430291778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7124121020430291778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7124121020430291778'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/09/javascript-replaceall.html' title='Javascript ReplaceAll'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6719879405492692167</id><published>2009-09-15T15:46:00.003-04:00</published><updated>2009-09-15T15:59:36.753-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic Panel'/><title type='text'>Dynamically turn on/off Panel with Javascript</title><content type='html'>&lt;span style="color:red"&gt;1.) Set client side OnChange event on a Button, CheckBox, etc...&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;OnChanged="javascriptChangeHandler(this, 'Panel1');"&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;2.) Include the Panel named in the javascriptChangeHandler call in HTML&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;asp:Panel id="Panel1" Runat="server"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Content...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/asp:Panel&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;3.) Add the Javascript function to the page or within included .js file&lt;/span&gt;&lt;br /&gt;function javascriptChangeHandler (elem, panel) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;var part = elem.id.substr(0, elem.id.lastIndexOf('_'));&lt;br /&gt;&amp;nbsp;&amp;nbsp;//Handle part logic to determine if panel should be turned off or on&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if ( part == null ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elem.focus();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;} else if ( part == "someIdentity" ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(panel).style.display = "block";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(panel).style.display = "none";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6719879405492692167?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6719879405492692167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6719879405492692167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6719879405492692167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6719879405492692167'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/09/dynamically-turn-onoff-panel-with.html' title='Dynamically turn on/off Panel with Javascript'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-7472563232223251688</id><published>2009-08-04T14:49:00.002-04:00</published><updated>2009-08-04T14:57:34.723-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='logout'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Automatic logout</title><content type='html'>&lt;span style="font-weight:bold;"&gt;From within a MasterPage, insert the following script to automatically logout users from a site after a specified timespan.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language="javascript"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; __applicationPath = "&amp;lt;%=Request.ApplicationPath%&amp;gt;";&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language="javascript"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;/function __logout(msg, loc ) {alert(msg); location.href = loc;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;/function __startLogoutCountdown(){window.setTimeout("__logout('Login Expired: ================== \\nThis site uses a security feature that automatically logs you out from your session after 16 minutes.', '&amp;lt;%=Request.ApplicationPath%&amp;gt;/Logout.aspx');", 960000);};&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;At this point, you can collect and destroy the user's session from Logout.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-7472563232223251688?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/7472563232223251688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=7472563232223251688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7472563232223251688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7472563232223251688'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/08/automatic-logout.html' title='Automatic logout'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-9061544297305614505</id><published>2009-06-08T12:00:00.003-04:00</published><updated>2009-06-08T12:17:32.823-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PGP'/><category scheme='http://www.blogger.com/atom/ns#' term='file signature'/><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><category scheme='http://www.blogger.com/atom/ns#' term='GPG'/><title type='text'>PGP encrypt and sign a file with GnuPG</title><content type='html'>&lt;span style="font-weight:bold;"&gt;In order to PGP encrypt and sign a file for transfer, the following items will be needed:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;GnuPG open source software found &lt;a href="http://www.gnupg.org/" target="_blank"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;A private PGP Key and the corresponding public key to provide the client.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;A clients public PGP Key.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;A file to be encrypted.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;1. Install GnuPG onto the server responsible for encrypting the file.&lt;br /&gt;&lt;br /&gt;2. Install the keys and give proper trust level onto the server that will be encrypting the files:&lt;br /&gt;&lt;blockquote&gt;gpg --import [Filename]  (installs a clients public key on server)&lt;br /&gt; &lt;br /&gt;gpg --edit [name of key]  (sets trust level of client public key)&lt;br /&gt;command&gt; trust&lt;br /&gt;command&gt; 4&lt;br /&gt;command&gt; y&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;3. View fingerprints of keys &lt;span style="color:red"&gt;(if needed)&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;gpg --fingerprint       (this will show the fingerprint to the keys)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;4. Execute PGP command on file gpg --passphrase-fd 0 -u %sender% -r %recipient% --yes -a --quiet --output %outfilename% --sign --encrypt %filename%&lt;br /&gt;&lt;br /&gt;5. If the encryption will be done within an application, this key can be added to the configuration and used in a "GeneratePGPFile" function call:&lt;br /&gt;&lt;span style="color:red"&gt;&lt;add key="GPGCommand" value="echo %passphrase%| gpg --passphrase-fd 0 -u %sender% -r %recipient% --yes -a --quiet --output %outfilename% --sign --encrypt %filename%" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. Main Function:&lt;br /&gt;&lt;blockquote&gt;protected bool GeneratePGPFile(string recipient, string filename, ref string outFilename)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;try &lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string gpgCommand = ConfigurationSettings.AppSettings["GPGCommand"];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string gpgKeyName = ConfigurationSettings.AppSettings["GPGKeyName"];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string gpgPassPhrase = ConfigurationSettings.AppSettings["GPGPassPhrase"]); &lt;span style="color:red"&gt;(if needed)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string gpgFilename = outFilename;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gpgCommand = gpgCommand.Replace("%passphrase%", gpgPassPhrase);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gpgCommand = gpgCommand.Replace("%sender%", string.Format("\"{0}\"", gpgKeyName));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gpgCommand = gpgCommand.Replace("%recipient%", string.Format("\"{0}\"", recipient));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gpgCommand = gpgCommand.Replace("%filename%", string.Format("\"{0}\"", filename));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gpgCommand = gpgCommand.Replace("%outfilename%", string.Format("\"{0}\"", gpgFilename));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Diagnostics.ProcessStartInfo psi = &lt;br /&gt;new System.Diagnostics.ProcessStartInfo("cmd.exe");&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psi.CreateNoWindow = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psi.UseShellExecute = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psi.RedirectStandardInput = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psi.RedirectStandardOutput = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psi.RedirectStandardError = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psi.WorkingDirectory = Path.GetDirectoryName(filename);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Diagnostics.Process process = System.Diagnostics.Process.Start(psi);&lt;br /&gt;process.StandardInput.WriteLine(gpgCommand);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;process.StandardInput.Flush();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;process.StandardInput.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;process.WaitForExit();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;process.Close();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!File.Exists(gpgFilename)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;catch (Exception ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HandleError(ex);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-9061544297305614505?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/9061544297305614505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=9061544297305614505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/9061544297305614505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/9061544297305614505'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/06/pgp-encrypt-and-sign-file-with-gnupg.html' title='PGP encrypt and sign a file with GnuPG'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-7602117474783940607</id><published>2009-05-29T14:14:00.002-04:00</published><updated>2009-05-29T14:24:29.175-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RadioButtonList'/><category scheme='http://www.blogger.com/atom/ns#' term='ListItem'/><category scheme='http://www.blogger.com/atom/ns#' term='OnClick'/><title type='text'>Using onclick with ListItem within RadioButtonList Control</title><content type='html'>&lt;blockquote&gt;Below is a way to add an onclick event into the ListItems of a RadioButtonList Control:&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Static RadioButtonList and ListItems within HTML&lt;/span&gt;&lt;br /&gt;&amp;lt;asp:RadioButtonList id="citizenRbl" runat="server" RepeatDirection="Horizontal"&amp;gt;&lt;br /&gt;      &amp;lt;asp:ListItem value="uscitizen" text="US Citizen"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;      &amp;lt;asp:ListItem value="residentalien" text="Resident Alien"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;      &amp;lt;asp:ListItem value="nonresidentalien" text="Non-Resident Alien"&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;     &amp;lt;/asp:RadioButtonList&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Code Behind - add the onclick event to the parent control of the ListItems&lt;/span&gt;&lt;br /&gt;citizenRbl.Attributes.Add("onclick", "CheckCitizenSelection('"+citizenRbl.ClientID+"')");&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Javascript&lt;/span&gt;&lt;br /&gt;&amp;lt;script language="Javascript"&amp;gt;&lt;br /&gt;function CheckCitizenSelection(rblID){&lt;br /&gt;var rbl = document.getElementById(rblID);&lt;br /&gt;var options = rbl.getElementsByTagName('input');&lt;br /&gt;for(jj=0; jj&amp;lt;options.length; jj++)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;var cbox = options[jj];&lt;br /&gt;&amp;nbsp;&amp;nbsp;if(&lt;span style="color:red"&gt;cbox.checked &amp;&amp; cbox.value == "nonresidentalien"&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert('You choice was non-resident alien');&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-7602117474783940607?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/7602117474783940607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=7602117474783940607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7602117474783940607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7602117474783940607'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/05/using-onclick-with-listitem-within.html' title='Using onclick with ListItem within RadioButtonList Control'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5977761841656058677</id><published>2009-05-08T11:14:00.002-04:00</published><updated>2009-05-08T11:38:31.492-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Repeater'/><category scheme='http://www.blogger.com/atom/ns#' term='OnClick'/><title type='text'>Add client on click to asp repeater</title><content type='html'>&lt;blockquote&gt;To add a client side onclick event to buttons in a repeater, use the scenario below as a reference. &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold; color:red;"&gt;Within the web form:&lt;/span&gt;&lt;br /&gt;&amp;lt;asp:Repeater ID="ItemsRpt" Runat="server"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;%#DataBinder.Eval(Container.DataItem, "ItemName")%&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:Button ID="DeleteBtn" Runat="server" Visible=&amp;lt;%#System.Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "canDelete"))%&amp;gt; Text="Delete" CommandArgument=&amp;lt;%#DataBinder.Eval(Container.DataItem, "ItemId")%&amp;gt; CommandName="DeleteItem" CssClass="Btn" CausesValidation="False"&amp;gt;&amp;lt;/asp:Button&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;&amp;lt;/asp:Repeater&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold; color:red;"&gt;Within the code behind "InitializeComponent"&lt;/span&gt;&lt;br /&gt;this.ItemsRpt.ItemCreated += new RepeaterItemEventHandler(ItemsRpt_ItemCreated); &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold; color:red;"&gt;and then...&lt;/span&gt;&lt;br /&gt;private void PositionsRpt_ItemCreated(object sender, RepeaterItemEventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (e.Item.DataItem != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Button btn = e.Item.FindControl("DeleteBtn") as Button;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (btn != null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;btn.Attributes.Add("onclick", "return confirm('Confirm the deletion of this item');");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5977761841656058677?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5977761841656058677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5977761841656058677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5977761841656058677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5977761841656058677'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/05/add-client-on-click-to-asp-repeater.html' title='Add client on click to asp repeater'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-1827611049229312581</id><published>2009-04-06T12:54:00.003-04:00</published><updated>2009-04-06T12:57:37.550-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='filter report fields'/><category scheme='http://www.blogger.com/atom/ns#' term='blank parameter'/><category scheme='http://www.blogger.com/atom/ns#' term='.rdl file'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>SSRS check for blank parameters</title><content type='html'>Within an SSRS .rdl file you may want to check to see if a Parameter is null before you try to filter results, below are a couple solutions:&lt;br /&gt;&lt;br /&gt;=IIf((LEN(Parameters!range.Value)&gt;0), Parameters!range.Value, Fields!range.Value)&lt;br /&gt;&lt;br /&gt;=IIf(IsNothing(Parameters!range.Value), Fields!range.Value, Parameters!range.Value)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-1827611049229312581?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/1827611049229312581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=1827611049229312581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1827611049229312581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1827611049229312581'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/04/ssrs-check-for-blank-parameters.html' title='SSRS check for blank parameters'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6472335985568651513</id><published>2009-04-05T16:42:00.003-04:00</published><updated>2009-04-05T16:48:13.124-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='if else'/><category scheme='http://www.blogger.com/atom/ns#' term='DataBinder'/><title type='text'>DataBinder if else solution</title><content type='html'>Below is an example that will allow two different images to be displayed in an image control based on the DataBinder.Eval result.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&amp;lt;img src="&amp;lt;%# (Convert.ToInt32(DataBinder.Eval(Container.DataItem, "availabilityId")) == 1) ? "/images/available.gif" : "/images/scheduled.gif"%&amp;gt;" alt="schedule" id="scheduleImg" style="border:none"/&amp;gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6472335985568651513?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6472335985568651513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6472335985568651513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6472335985568651513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6472335985568651513'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2009/04/databinder-if-else-solution.html' title='DataBinder if else solution'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-1043951543302561548</id><published>2008-12-08T11:07:00.004-05:00</published><updated>2008-12-08T11:35:24.403-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asynchronous server call'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='ICallbackEventHandler'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET 2.0'/><title type='text'>Use ICallbackEventHandler interface for asynchronous calls to the server</title><content type='html'>A simple way to perform asynchronous calls to the server from the client is by using the ICallbackEventHandler interface in .NET 2.0.&lt;br /&gt;&lt;br /&gt;1.) Create a class and specify ICallbackEventHandler interface:&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;public partial class TestClass : System.Web.UI.UserControl, ICallbackEventHandler&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2.) Implement ICallbackEventHandler.RaiseCallbackEvent and &lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;ICallbackEventHandler.GetCallbackResult()&lt;br /&gt;private string results;&lt;br /&gt;void ICallbackEventHandler.RaiseCallbackEvent(string argument)&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;string[] list;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;int i=0;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;string id= argument.ToLower();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;DataView dv = RetrieveData(argument);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;list = new string[dv.Table.Rows.Count];&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;foreach (DataRow row in dv.Table.Rows)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;list[i] = row[1].ToString() + "," + row[2].ToString();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;i++;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;results = String.Join("-", list);&lt;br /&gt;&lt;br /&gt;return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;string ICallbackEventHandler.GetCallbackResult()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;return results;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3.) Create async call-back function  for use on client side.&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;private string GetDataRefreshScript()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;StringBuilder sb = new StringBuilder("function RefreshResults(data){");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine(Page.ClientScript.GetCallbackEventReference(this, "data", "UpdateData","null", "UpdateData_Error", true));&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("}");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine(GetUpdateDataScript());&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;return sb.ToString();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4.) Create client script to handle data retreived from server through async call.&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;private string GetUpdateDataScript()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;StringBuilder sb = new StringBuilder("function UpdateData(response, context) {");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("var id = document.getElementById(\"" + ResultsGrid.ClientID + "\");");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("if(id != null){");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("var rows = new Array();");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("rows = response.split(\"-\");");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("for(j=0; j sb.AppendLine("var tmpRow = rows[j];");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("addResultGridRow(id, tmpRow);\r\n}}}");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;//Error&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("function UpdateData_Error(response, context) {");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("var err = document.getElementById(\"" + errorMessage.ClientID +"\");");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("if(err != null){");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("err.innerHTML = 'Error processing data.';");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sb.AppendLine("err.style.visibility = 'visible';\r\n}}");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;return sb.ToString();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5.) The last thing that needs done is triggering the async call from client&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 102);"&gt;btn.Attributes.Add("onmousedown", "RefreshResults('" + data + "')");&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-1043951543302561548?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/1043951543302561548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=1043951543302561548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1043951543302561548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1043951543302561548'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/12/use-icallbackeventhandler-interface-for.html' title='Use ICallbackEventHandler interface for asynchronous calls to the server'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6176639208695597140</id><published>2008-12-08T10:51:00.002-05:00</published><updated>2008-12-08T11:07:18.518-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='window.opener'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Communicate data between two browser windows</title><content type='html'>To communicate data between two browser windows "window.opener" can be of assistance.  window.opener returns a reference to the window that opened the current window.  So this mock function below should be inserted into the opened window.&lt;br /&gt;Make note that "__datatarget" and "__datawindow" are two variables that were defined in the parent window.&lt;br /&gt;&lt;br /&gt;function SetData(data)&lt;br /&gt;{&lt;br /&gt;  if ((window.opener != null)&lt;br /&gt;  &amp;amp;&amp;amp; (!window.opener.closed)&lt;br /&gt;  &amp;amp;&amp;amp; (window.opener.__datatarget != null))&lt;br /&gt;  {&lt;br /&gt;    var changed = (window.opener.__datatarget.value != data);&lt;br /&gt;    window.opener.__dataetarget.value = employee; &lt;br /&gt;    window.opener.__datawindow.value = null;&lt;br /&gt;    if (changed)&lt;br /&gt;      window.opener.__datatarget.fireEvent("onchange");&lt;br /&gt;  } &lt;br /&gt; window.close();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6176639208695597140?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6176639208695597140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6176639208695597140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6176639208695597140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6176639208695597140'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/12/communicate-data-between-two-browser.html' title='Communicate data between two browser windows'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-823140355884730218</id><published>2008-10-30T20:22:00.002-04:00</published><updated>2008-10-30T20:30:10.938-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studios'/><category scheme='http://www.blogger.com/atom/ns#' term='_PendingCallbacks[...].async is null or not an object'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><title type='text'>_PendingCallbacks[...].async is null or not an object BUG</title><content type='html'>&lt;strong&gt;_PendingCallbacks[...].async is null or not an object&lt;/strong&gt; error can be related to a bug in the javascript that VS creates for you to deal with callbacks. You can alleviate PendingCallback errors by checking all of your own javascript for any variables named i.  Replace them and you should be golden.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-823140355884730218?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/823140355884730218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=823140355884730218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/823140355884730218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/823140355884730218'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/10/pendingcallbacksasync-is-null-or-not.html' title='_PendingCallbacks[...].async is null or not an object BUG'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-8482842951068054722</id><published>2008-10-03T10:02:00.003-04:00</published><updated>2008-10-03T10:14:13.506-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='panel'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Show and hide a panel with javascript</title><content type='html'>&lt;strong&gt;* Make note of the Z-INDEX on the row.  This will allow the visible panel to appear above other items on the page.&lt;/strong&gt;&lt;br /&gt;&lt;span style='color:red'&gt;In the HTML&lt;/span&gt;&lt;br /&gt;&amp;lt;tr style="Z-INDEX: 10; POSITION: absolute"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:Panel Runat="server" ID="ThePanel" BorderWidth="1px" BorderStyle=Solid&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:Literal Runat="server" ID="TheResults"&amp;gt;&amp;lt;/asp:Literal&amp;gt;&lt;br /&gt;&amp;lt;/asp:Panel&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:red'&gt;In the js file&lt;/span&gt;&lt;br /&gt;function ShowPanel(target)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (target != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target.&lt;strong&gt;style.display = '';&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function HidePanel(target)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (target != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target.&lt;strong&gt;style.display = 'none';&lt;/strong&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style='color:red'&gt;In the code behind&lt;/span&gt;&lt;br /&gt;protected override void OnPreRender(EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.TheLabel.Attributes.Add("onmouseover", "ShowPanel("+this.ThePanel.ID+");");&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.TheLabel.Attributes.Add("onmouseout", "HidePanel("+this.ThePanel.ID+");");&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.ThePanel.Style.Add("display", "none");&lt;br /&gt;   &lt;br /&gt;&amp;nbsp;&amp;nbsp;base.OnPreRender (e);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-8482842951068054722?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/8482842951068054722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=8482842951068054722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8482842951068054722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8482842951068054722'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/10/show-and-hide-panel-with-javascript.html' title='Show and hide a panel with javascript'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-7349330770414291248</id><published>2008-09-25T15:00:00.003-04:00</published><updated>2008-09-26T16:31:30.134-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataTable'/><category scheme='http://www.blogger.com/atom/ns#' term='visual studios'/><category scheme='http://www.blogger.com/atom/ns#' term='populate CheckBoxList'/><category scheme='http://www.blogger.com/atom/ns#' term='DataRow.Find'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='DataSet'/><title type='text'>DataSet / DataTable Primary Key and using DataRow.Find</title><content type='html'>It's quick and easy to find items in a DataTable through setting the primary key.  This method can be used to easily populate a CheckBoxList&lt;br /&gt;&lt;br /&gt;DataSet ds = //populate dataset&lt;br /&gt;if(ds != null &amp;&amp; ds.Tables.Count &amp;gt; 0)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;GroupCBL.DataSource = ds;&lt;br /&gt;&amp;nbsp;&amp;nbsp;GroupCBL.DataTextField="textField";&lt;br /&gt;&amp;nbsp;&amp;nbsp;GroupCBL.DataBind();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;DataColumn[] dc = new DataColumn[1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;dc[0] = ds.Tables[0].Columns["key"];&lt;br /&gt;&amp;nbsp;&amp;nbsp;ds.Tables[0].PrimaryKey = dc;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;foreach(ListItem item in GroupCBL.Items)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataRow row = ds.Tables[0].Rows.Find(item.Value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.Selected = Convert.ToBoolean(row["selected"]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-7349330770414291248?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/7349330770414291248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=7349330770414291248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7349330770414291248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7349330770414291248'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/09/terminal-services-manager.html' title='DataSet / DataTable Primary Key and using DataRow.Find'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6964625189576050081</id><published>2008-09-12T08:11:00.002-04:00</published><updated>2008-09-12T08:22:52.355-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote connection'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Restart a remote machine.</title><content type='html'>Having problems with the remote machine you are using? Don't want to leave home to head to the office for a restart? Simple cmd can take care of it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;C:\Documents and Settings\unplug1.6&gt;shutdown -m \\Hum -r -y&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;shutdown is the command you're looking for, "-r" is to specify a restart instead of total shutdown. "-m \\Hum" specifies the remote computer you are trying to restart. Below are a few other arguments.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;No args Display this message (same as -?)&lt;br /&gt;-i Display GUI interface, must be the first option&lt;br /&gt;-l Log off (cannot be used with -m option)&lt;br /&gt;-s Shutdown the computer&lt;br /&gt;-r Shutdown and restart the computer&lt;br /&gt;-a Abort a system shutdown&lt;br /&gt;-m \\computername Remote computer to shutdown/restart/abort&lt;br /&gt;-t xx Set timeout for shutdown to xx seconds&lt;br /&gt;-c "comment" Shutdown comment (maximum of 127 characters)&lt;br /&gt;-f Forces running applications to close without warning&lt;br /&gt;-d [u][p]:xx:yy The reason code for the shutdown&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Usage: &lt;/strong&gt;&lt;br /&gt;shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6964625189576050081?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6964625189576050081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6964625189576050081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6964625189576050081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6964625189576050081'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/09/restart-remote-machine.html' title='Restart a remote machine.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6263287437407846771</id><published>2008-09-08T09:21:00.002-04:00</published><updated>2008-09-08T09:26:01.529-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studios'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><title type='text'>Refreshing the project failed. Unable to retrieve folder information from the server.</title><content type='html'>I've been working with Visual Studios 2003 and have had the error "&lt;strong&gt;Refreshing the project failed. Unable to retrieve folder information from the server&lt;/strong&gt;." pop up as I'm loading the project. I normally ignore it and go about my business. I finally tired of seeing the pop up and hit the interweb for answers. &lt;blockquote&gt;To correct the problem simply delete the "VSWebCache" from the "\Documents and Settings\[Username]" directory.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6263287437407846771?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6263287437407846771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6263287437407846771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6263287437407846771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6263287437407846771'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/09/refreshing-project-failed-unable-to.html' title='Refreshing the project failed. Unable to retrieve folder information from the server.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-925228869341900446</id><published>2008-07-08T10:26:00.001-04:00</published><updated>2008-07-08T21:17:25.372-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delete Result'/><category scheme='http://www.blogger.com/atom/ns#' term='Inner Join'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Delete the result of an inner join from a SQL table</title><content type='html'>If you want to delete the result of an inner join from a table, you just need to be redundant...&lt;br /&gt;&lt;br /&gt;delete&lt;br /&gt;&lt;a style="color:red"&gt;from userregionlocation &lt;br /&gt;from userregionlocation t&lt;/a&gt;&lt;br /&gt;inner join @res r on r.userid=t.userid and r.region=t.region and r.location=t.location&lt;br /&gt;&lt;br /&gt;Whatever the result set of: &lt;br /&gt;&lt;blockquote&gt;select *&lt;br /&gt;from userregionlocation t&lt;br /&gt;inner join @res r on r.userid=t.userid and r.region=t.region and r.location=t.location&lt;/blockquote&gt;&lt;br /&gt;is what will be deleted from the "userregionlocation" table.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-925228869341900446?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/925228869341900446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=925228869341900446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/925228869341900446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/925228869341900446'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/07/delete-result-of-inner-join-from-sql.html' title='Delete the result of an inner join from a SQL table'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6964767399725331168</id><published>2008-06-30T11:17:00.000-04:00</published><updated>2008-06-30T11:30:08.317-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HttpHandler'/><category scheme='http://www.blogger.com/atom/ns#' term='file image'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Retrieving a file that is stored in a database as an image.</title><content type='html'>&lt;b&gt;1. Create a "File Server" as an HttpHandler&lt;/b&gt;&lt;br /&gt;-Within the web.config, set up a page (filemanager.aspx below) that will handle http requests.&lt;br /&gt;&lt;br /&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;httpHandlers&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;add verb="*" path="filemanager.aspx" type="Project.FileManagerHttpHandler, DLLName"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/httpHandlers&amp;gt;&lt;br /&gt;&amp;lt;/system.web&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Within the html page, create a hyperlink to the http handler&lt;/b&gt;&lt;br /&gt;http post to server: &amp;lt;a href="http://url/fileserver.aspx?uniqueIdentifier"&amp;gt;click here&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Create the class that will handle the http request&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;public class FileServerHttpHandler : IHttpHandler, IRequiresSessionState&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;// Override the ProcessRequest method.&lt;br /&gt;&amp;nbsp;&amp;nbsp;public void ProcessRequest(HttpContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Guid token = new Guid(context.Request.QueryString.ToString());&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryWriter bw;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Response.Clear();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (SqlDataReader dr = SqlHelper.ExecuteReader(DBHelper.ConnectionString, "FileGetByFileToken", token))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (dr != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (dr.Read())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;context.Response.ContentType = dr["filetype"].ToString(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[] o = (byte[]) dr["filedata"];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bw = new BinaryWriter(context.Response.OutputStream);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bw.Write(o);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dr.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch (Exception)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;// Override the IsReusable property.&lt;br /&gt;&amp;nbsp;&amp;nbsp;public bool IsReusable&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get { return true; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6964767399725331168?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6964767399725331168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6964767399725331168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6964767399725331168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6964767399725331168'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/06/retrieving-file-that-is-stored-in.html' title='Retrieving a file that is stored in a database as an image.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-3509991377301059969</id><published>2008-06-28T11:51:00.000-04:00</published><updated>2008-06-28T13:18:41.618-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sirius Satellite'/><category scheme='http://www.blogger.com/atom/ns#' term='uSirius'/><category scheme='http://www.blogger.com/atom/ns#' term='Howard Stern'/><category scheme='http://www.blogger.com/atom/ns#' term='jailbreak'/><title type='text'>Howard Stern on the iPhone</title><content type='html'>Thanks to the work of Millard Software (www.millardsoftware.com), iPhone owners can now enjoy Howard Stern and the rest of Sirius Satellite Radio through their iPhone! &lt;br /&gt;&lt;br /&gt;&lt;b&gt;This is how to set it up:&lt;/b&gt;&lt;br /&gt;1. You need to have a jailbroken iPhone, this can be achieved by downloading and installing ZiPhone &lt;a href="http://files.ziphone.org/ZiPhoneWin-3.0.exe" target="blank"&gt;here.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;2. Execute and install the ZiPhone jailbreak onto your iPhone&lt;br /&gt;&lt;br /&gt;3. Add the following repository to your Installer:&lt;br /&gt;http://www.millardsoftware.com/files/downloads/usirius/iphone/iphone.xml&lt;br /&gt;&lt;div style="color:red"&gt;&lt;b&gt;more info:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;a. click the "installer" which will be on your homescreen&lt;br /&gt;b. click on "Sources" form bottom menu&lt;br /&gt;c. click on "Edit" which will be on the top right of screen&lt;br /&gt;d. click on "Add" which will be on the top left of screen&lt;br /&gt;e. type in the above URL&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;4. Select uSirius - iPhone Edition in the Multimedia section.&lt;br /&gt;&lt;br /&gt;If you have a Sirius subscription, you enter your credentials and will have Howard Stern and Sirius Radio on your iPhone. If you don't have a subscription yet, you can receive a free three day trial by signing up at &lt;a href="http://www.sirius.com/sirius/servlet/MediaPlayerRegistration" target="blank"&gt;Sirius&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-3509991377301059969?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/3509991377301059969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=3509991377301059969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/3509991377301059969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/3509991377301059969'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/06/howard-stern-on-iphone.html' title='Howard Stern on the iPhone'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-4996768710082994353</id><published>2008-04-28T13:04:00.000-04:00</published><updated>2008-04-28T13:18:26.538-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Morning Jacket'/><category scheme='http://www.blogger.com/atom/ns#' term='The Black Keys'/><category scheme='http://www.blogger.com/atom/ns#' term='Red Rocks Amphitheatre'/><title type='text'>My Morning Jacket and The Black Keys at Red Rocks Amphitheatre</title><content type='html'>August 21st 2008, The Black Keys will be opening for My Morning Jacket at Red Rocks Amphitheatre and I have tickets!! It's the only show that the two bands will be playing together on their separate tours. I've never been to Denver, so this will be an all around great trip. Red Rocks, a Hard Rock Cafe I don't have a shot glass from, downtown Denver, and some of the best music around.  NICE!!&lt;br /&gt;&lt;a href="http://picasaweb.google.com/unplug1.6/TheBlackKeys/photo#5080108736506148226"&gt;&lt;img src="http://lh5.google.com/image/unplug1.6/RoAr-vPOtYI/AAAAAAAAAFc/K3gKYfo8u8Q/s144/the%20black%20keys.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-4996768710082994353?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/4996768710082994353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=4996768710082994353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4996768710082994353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4996768710082994353'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/04/my-morning-jacket-and-black-keys-at-red.html' title='My Morning Jacket and The Black Keys at Red Rocks Amphitheatre'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-8459171112751133722</id><published>2008-04-28T12:47:00.000-04:00</published><updated>2008-04-28T13:03:14.871-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='HttpWebRequest'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Post Http request in code behind example</title><content type='html'>public XmlDocument Send(string url, XmlDocument reqdoc)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:red"&gt;//Start by creating the request using given URL&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(url);        &lt;br /&gt;&amp;nbsp;&amp;nbsp;httpReq.Method = @"POST";&lt;br /&gt;&amp;nbsp;&amp;nbsp;httpReq.ContentType = @"text/xml"; &lt;span style="color:red"&gt;//Using XML&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;httpReq.Timeout = 600000;&lt;span style="color:red"&gt;//10 minutes (in milliseconds)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;httpReq.KeepAlive = false;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Stream strm = httpReq.GetRequestStream();&lt;br /&gt;&amp;nbsp;&amp;nbsp;reqdoc.Save(strm);&lt;br /&gt;&amp;nbsp;&amp;nbsp;strm.Close();&lt;br /&gt;&lt;span style="color:red"&gt;//Create HttpWebRewponse to handle the result&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;HttpWebResponse resp = (HttpWebResponse)httpReq.GetResponse();&lt;br /&gt;      &lt;br /&gt;&amp;nbsp;&amp;nbsp;StreamReader srdr = new StreamReader(resp.GetResponseStream(),Encoding.GetEncoding("UTF-8"));&lt;br /&gt;&amp;nbsp;&amp;nbsp;string xmlstr = srdr.ReadToEnd();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;resp.Close();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;respdoc = new XmlDocument();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder sb = new StringBuilder(xmlstr);&lt;br /&gt;&lt;span style="color:red"&gt;//Remove undefined chars&lt;/span&gt;   &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int c=0; c&amp;lt;sb.Length; c++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (sb[c]&amp;lt;'\x20')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sb[c]='\x20';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;respdoc.LoadXml(sb.ToString());&lt;br /&gt;    &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;respXmlStr = respdoc.OuterXml;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;catch(Exception e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string msg = "Invalid XML response returned: " + e.Message;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LogExceptionData(msg,xmlstr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new Exception(msg,e);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return respdoc;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-8459171112751133722?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/8459171112751133722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=8459171112751133722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8459171112751133722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8459171112751133722'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/04/post-http-request-in-code-behind.html' title='Post Http request in code behind example'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-541711905369113232</id><published>2008-03-07T14:45:00.000-05:00</published><updated>2008-03-07T14:55:32.573-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loop'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Loop through SQL table</title><content type='html'>&lt;blockquote&gt;If you have a SQL result set that you would like to loop through, here is how you'd do it.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;--&lt;strong&gt;Begin with defining the dataset you want to work with.&lt;/strong&gt;&lt;br /&gt;declare @res table (ID int, orderNum int)&lt;br /&gt;insert into @res&lt;br /&gt;select ID, orderNum&lt;br /&gt;from A_Table a &lt;br /&gt;inner join B_Table b on b.ID=a.ID&lt;br /&gt;order by orderNum&lt;br /&gt;&lt;br /&gt;declare @orderNum int&lt;br /&gt;&lt;br /&gt;--&lt;strong&gt;Create the cursor that will cycle through the result set.&lt;/strong&gt;&lt;br /&gt;&lt;span style='color:red'&gt;declare keys cursor for&lt;/span&gt;&lt;br /&gt;select orderNum&lt;br /&gt;from @res&lt;br /&gt;&lt;br /&gt;open keys&lt;br /&gt;fetch keys into @orderNum&lt;br /&gt;&lt;span style='color:red'&gt;while (@@fetch_status = 0)&lt;/span&gt;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exec orderDelete @orderNum&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fetch keys into @orderNum&lt;br /&gt;end&lt;br /&gt;close keys&lt;br /&gt;deallocate keys&lt;br /&gt;&lt;br /&gt;...And there you have it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-541711905369113232?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/541711905369113232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=541711905369113232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/541711905369113232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/541711905369113232'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/03/loop-through-sql-table.html' title='Loop through SQL table'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-8539106671799653427</id><published>2008-03-06T11:37:00.000-05:00</published><updated>2008-03-06T11:55:35.744-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='pop-up errors'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Javascript pop-up errors from asp.net code behind</title><content type='html'>&lt;strong&gt;This is how to generate client side pop-up errors after processing code behind:&lt;/strong&gt;&lt;br /&gt;It starts with the StringCollection:&lt;br /&gt;&lt;span style="color:red"&gt;private StringCollection clientMessages;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;while processing in code behind, add any errors to clientMessages:&lt;br /&gt;&lt;span style="color:red"&gt;if(Error)&lt;br /&gt;clientMessages.Add("you can't do that");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Now in the OnPreRender event...&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:red"&gt;protected override void OnPreRender(EventArgs e)&lt;br /&gt;{&lt;/span&gt;&lt;br /&gt;// Display client messages to browser if any.&lt;br /&gt;if ((clientMessages != null) &amp;&amp; (clientMessages.Count &gt; 0))&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;StringBuilder sb = new StringBuilder(123);&lt;br /&gt;&amp;nbsp;&amp;nbsp;StringBuilder msg = new StringBuilder(123);&lt;br /&gt;&amp;nbsp;&amp;nbsp;sb.Append("&amp;lt;script language=\"javascript\" for=\"window\" &amp;nbsp;&amp;nbsp;event=\"onload\"&amp;gt;\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;sb.Append("function __ShowClientMessages(){\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;sb.Append("alert(\"");&lt;br /&gt;&amp;nbsp;&amp;nbsp;for (int i=0, j=clientMessages.Count; i&amp;lt;j; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msg.Length = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msg.Append(clientMessages[i]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msg.Replace("\n","\\n").Replace("\"","\\\"");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msg.Append("\\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sb.Append(msg.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//sb.Append(clientMessages[i].Replace("\n","\\n")).Append("\\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;sb.Append("\");\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;sb.Append("}\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;sb.Append("window.attachEvent(\"onload\", __ShowClientMessages);");&lt;br /&gt;&amp;nbsp;&amp;nbsp;sb.Append("&amp;lt;/script&amp;gt;");&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.RegisterStartupScript("ClientMessages", sb.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;sb.Length = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;And here is how to register the client side script&lt;/strong&gt;&lt;br /&gt;protected void RegisterStartupScript(string script)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;this.RegisterStartupScript(Guid.NewGuid().ToString(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;"&amp;lt;script language=\"javascript\"&amp;gt;\n"&lt;br /&gt;&amp;nbsp;&amp;nbsp;+ script&lt;br /&gt;&amp;nbsp;&amp;nbsp;+"&amp;lt;/script&amp;gt;");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;And there you have it, javascript pop-up errors from code behind.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-8539106671799653427?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/8539106671799653427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=8539106671799653427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8539106671799653427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8539106671799653427'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/03/javascript-pop-up-errors-from-aspnet.html' title='Javascript pop-up errors from asp.net code behind'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-4477380204076124174</id><published>2008-03-04T11:49:00.000-05:00</published><updated>2008-03-04T11:58:04.980-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beachland Ballroom'/><category scheme='http://www.blogger.com/atom/ns#' term='Arcade Fire'/><category scheme='http://www.blogger.com/atom/ns#' term='Bar Rock The Vote'/><category scheme='http://www.blogger.com/atom/ns#' term='Cleveland OH'/><category scheme='http://www.blogger.com/atom/ns#' term='Win Butler'/><title type='text'>Bar Rock The Vote</title><content type='html'>&lt;span style="color:red"&gt;&lt;strong&gt;Arcade Fire&lt;/strong&gt;&lt;/span&gt; came to the Beachland Ballroom in Cleveland, OH in support of Barack Obama. They played two free shows to sold out crowds, and here is an image of the most intense musician I've ever had the opportunity to see. The guy was like a bear.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_MCxnfx2MzIM/R81-5tGt-TI/AAAAAAAAAHE/s6tZQr7WGuI/s1600-h/WinButler.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_MCxnfx2MzIM/R81-5tGt-TI/AAAAAAAAAHE/s6tZQr7WGuI/s320/WinButler.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5173931076743985458" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-4477380204076124174?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/4477380204076124174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=4477380204076124174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4477380204076124174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4477380204076124174'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/03/bar-rock-vote.html' title='Bar Rock The Vote'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MCxnfx2MzIM/R81-5tGt-TI/AAAAAAAAAHE/s6tZQr7WGuI/s72-c/WinButler.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-695659329689032713</id><published>2008-03-03T10:38:00.000-05:00</published><updated>2008-03-06T11:37:00.788-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='HttpWebRequest'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>Post and receive XML to a URL</title><content type='html'>&lt;blockquote&gt;Here is a quick example of how to post and receive XML using HttpWebRequest:&lt;/blockquote&gt;&lt;br /&gt;//Some libraries that will be needed:&lt;br /&gt;System.Net;&lt;br /&gt;System.IO;&lt;br /&gt;System.Xml;&lt;br /&gt;System.Text;&lt;br /&gt;&lt;br /&gt;public XmlDocument Send(string url, XmlDocument reqdoc)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color:red"&gt;//Setting up and posting request&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(url);&lt;br /&gt;&amp;nbsp;&amp;nbsp;httpReq.Method = @"POST";&lt;br /&gt;&amp;nbsp;&amp;nbsp;httpReq.ContentType = @"text/xml";&lt;br /&gt;&amp;nbsp;&amp;nbsp;httpReq.Timeout = 600000; // 10 minutes (in milliseconds)&lt;br /&gt;&amp;nbsp;&amp;nbsp;httpReq.KeepAlive = false;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Stream strm = httpReq.GetRequestStream();&lt;br /&gt;&amp;nbsp;&amp;nbsp;XmlDocument doc = new XmlDocument();&lt;br /&gt;&amp;nbsp;&amp;nbsp;doc.LoadXml("&lt;?xml etc..."&gt;); //load xml&lt;br /&gt;&amp;nbsp;&amp;nbsp;doc.Save(strm); //strm will be the data to be sent&lt;br /&gt;&amp;nbsp;&amp;nbsp;strm.Close();&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red"&gt;//Receiving result&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;HttpWebResponse resp = (HttpWebResponse)httpReq.GetResponse(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;StreamReader srdr = new StreamReader(resp.GetResponseStream(),Encoding.GetEncoding("UTF-8"));&lt;br /&gt;&amp;nbsp;&amp;nbsp;string xmlstr = srdr.ReadToEnd();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;resp.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;XmlDocument respdoc = new XmlDocument();&lt;br /&gt;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder sb = new StringBuilder(xmlstr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int c=0; c&amp;lt;sb.Length; c++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (sb[c]&amp;lt;'\x20')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sb[c]='\x20';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;respdoc.LoadXml(sb.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string respXmlStr = respdoc.OuterXml;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;catch(Exception e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string msg = "Invalid XML response returned: " + e.Message;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new Exception(msg,e);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;return respdoc;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-695659329689032713?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/695659329689032713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=695659329689032713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/695659329689032713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/695659329689032713'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/03/post-and-receive-xml-to-url.html' title='Post and receive XML to a URL'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5894334970815853956</id><published>2008-01-11T09:29:00.000-05:00</published><updated>2008-01-11T09:57:27.024-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='string operator'/><category scheme='http://www.blogger.com/atom/ns#' term='string format'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C#  @ string meaning.</title><content type='html'>&lt;span style="color:red;"&gt;And now for a little string manipulation:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;string initXML = @"&amp;lt;?xml version=""1.0"" ?&amp;gt;&amp;lt;request company=""gnc"" auth=""{0}"" unit=""{1}"" code=""{2}"" /&amp;gt;";&lt;br /&gt;&lt;br /&gt;initXML = String.Format(initXML, authCode, location, passCode);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt;The difference between a regular and verbatim string expression:&lt;/span&gt;&lt;br /&gt;&lt;table style="BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; MARGIN-LEFT: 6px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; BORDER-COLLAPSE: separate; TEXT-ALIGN: left" cellSpacing="1" cellPadding="2" border="1" width="420"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;b&gt;Regular literal&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;b&gt;Verbatim literal&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;b&gt;Result&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;"Unplug1dot6"&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;@"Unplug1dot6"&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Unplug1dot6&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;"Backslash: \\"&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;@"Backslash: \"&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Backslash: \&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;"Quote: \""&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;@"Quote: """&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Quote: "&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;"CRLF:\r\nPost CRLF"&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;@"CRLF:&lt;br /&gt;Post CRLF"&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;CRLF:&lt;br /&gt;Post CRLF&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5894334970815853956?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5894334970815853956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5894334970815853956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5894334970815853956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5894334970815853956'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/01/c-string-meaning.html' title='C#  @ string meaning.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-471252720666708807</id><published>2008-01-07T09:53:00.000-05:00</published><updated>2008-01-07T10:08:35.768-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BCP'/><category scheme='http://www.blogger.com/atom/ns#' term='Bulk Copy Program'/><title type='text'>Use BCP within ASP.NET, C#</title><content type='html'>&lt;b&gt;The Bulk Copy Program (BCP)&lt;/b&gt; is a command-line utility that ships with SQL Server.  You can import / export large amounts of data in  / out of SQL.&lt;br /&gt;&lt;br /&gt;The BCP utility is accessed from the command prompt. Syntax below: &lt;br /&gt;bcp   {dbtable | query} {in | out | queryout | format} datafile&lt;br /&gt; [-n native type] [-c character type] &lt;br /&gt;   [-S server name] [-U username]&lt;br /&gt; [-P password] [-T trusted connection]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Remember:&lt;/b&gt; When using BCP, the terms are case-sensitive.&lt;br /&gt;-&lt;strong&gt;n &lt;/strong&gt;term specifies native SQL Server format. &lt;br /&gt;-&lt;strong&gt;S &lt;/strong&gt;term enables you to add the server/instance name.&lt;br /&gt;-&lt;strong&gt;U &lt;/strong&gt;term allows you to add the name of the login used to connect to SQL Server.&lt;br /&gt;-&lt;strong&gt;P &lt;/strong&gt;term lets you add the password of the -U switch.&lt;br /&gt;-&lt;strong&gt;T &lt;/strong&gt;term is for establishing a trusted connection to your SQL Server&lt;br /&gt;-&lt;strong&gt;c &lt;/strong&gt;term performs the operation using a character data type. This option does not prompt for each field; it uses char as the storage type, without prefixes and with \t (tab character) as the field separator and \r\n (newline character) as the row terminator&lt;br /&gt;-&lt;strong&gt;t &lt;/strong&gt;field_term specifies the field terminator. The default is \t (tab character). Use this parameter to override the default field terminator.&lt;br /&gt;-&lt;strong&gt;r &lt;/strong&gt;row_term specifies the row terminator. The default is \n (newline character). Use this parameter to override the default row terminator.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Example - C# in .cs file&lt;/b&gt;&lt;br /&gt;Process bcp = new Process();&lt;br /&gt;bcp.StartInfo.WorkingDirectory = WorkPath;&lt;br /&gt;bcp.StartInfo.FileName = "bcp";&lt;br /&gt;bcp.StartInfo.Arguments = "datatableName..storedprocedureToRun"&lt;br /&gt;&amp;nbsp;&amp;nbsp;+ " in " //out&lt;br /&gt;&amp;nbsp;&amp;nbsp;+  file.Name&lt;br /&gt;&amp;nbsp;&amp;nbsp;+ @" -c -t ~ -r \n -DATABASE_NAME -Ucredential -Pcredential";&lt;br /&gt;bcp.Start();&lt;br /&gt;bcp.WaitForExit();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-471252720666708807?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/471252720666708807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=471252720666708807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/471252720666708807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/471252720666708807'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/01/use-bcp-within-aspnet-c.html' title='Use BCP within ASP.NET, C#'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-7158251984217357030</id><published>2008-01-02T15:44:00.001-05:00</published><updated>2008-01-02T15:59:07.248-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='AutoPostBack'/><category scheme='http://www.blogger.com/atom/ns#' term='asp:checkbox'/><title type='text'>Verify a condition is true before posting asp:checkbox</title><content type='html'>If you want to verify a condition before the AutoPostBack event is fired for an asp:checkbox.&lt;br /&gt;&lt;br /&gt;Set up the javascript function of what you want to verify:&lt;br /&gt;&amp;lt;script language="javascript"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;function Reviewed_Click(o, e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var oResponse = document.getElementById("Response");    &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (oResponse != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var reg = /\s+/g;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var value = oResponse.innerText.toLowerCase().replace(reg, "");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (value == "yes"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;&amp; !confirm("A question to ask?\nIf \"Yes\" click OK, otherwise click CANCEL."))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;event.returnValue = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}     &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}    &lt;br /&gt;&amp;nbsp;&amp;nbsp;return true; &lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;Now add the asp:checkbox...&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:checkbox id="Reviewed" Runat="server" AutoPostBack="True" Text="Information Reviewed" &lt;span style="color:red"&gt;onclick="if (!Reviewed_Click(this, event)) return false;"&lt;/span&gt;&amp;gt;&amp;lt;/asp:checkbox&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-7158251984217357030?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/7158251984217357030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=7158251984217357030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7158251984217357030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7158251984217357030'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2008/01/verify-condition-is-true-before-posting.html' title='Verify a condition is true before posting asp:checkbox'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-3396208578643016707</id><published>2007-11-13T10:32:00.000-05:00</published><updated>2007-11-16T11:56:38.940-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network problem'/><title type='text'>network problem?</title><content type='html'>Some DOS commands that can help determine network problems: &lt;br /&gt;&lt;span style="color:red"&gt;ping, tracert, nslookup, netstat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;C:\Documents and Settings\unplug1.6&gt;&lt;strong&gt;ping&lt;/strong&gt; tttx-inst1.com&lt;br /&gt;&lt;br /&gt;Pinging tttx-inst1.com [182.11.110.111] with 32 bytes of data:&lt;br /&gt;&lt;br /&gt;Request timed out.&lt;br /&gt;Request timed out.&lt;br /&gt;Request timed out.&lt;br /&gt;Request timed out.&lt;br /&gt;&lt;br /&gt;Ping statistics for 182.11.110.111:&lt;br /&gt;    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C:\Documents and Settings\unplug1.6&gt;&lt;strong&gt;tracert&lt;/strong&gt; minn&lt;br /&gt;&lt;br /&gt;Tracing route to minn.xx.com [182.11.110.111]&lt;br /&gt;over a maximum of 30 hops:&lt;br /&gt;&lt;br /&gt;  1     1 ms    &lt;1 ms    &lt;1 ms  182.11.110.111&lt;br /&gt;  2     *        *        *     Request timed out.&lt;br /&gt;  3    25 ms    23 ms    24 ms  192.168.16.160&lt;br /&gt;  4    24 ms    23 ms    25 ms  minn.xx.com [182.11.110.111]&lt;br /&gt;&lt;br /&gt;If there were a problem with an ip, you can specify which ip to use in tracert:&lt;br /&gt;&lt;strong&gt;tracert -j 180.16.116.116 oh-01.xx.com&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt;Tracing route to oh-01.xx.com [180.16.116.116]&lt;br /&gt;over a maximum of 30 hops:&lt;br /&gt; &lt;br /&gt;  1     *        *        *     Request timed out.&lt;br /&gt;  2     *        *        *     Request timed out.&lt;br /&gt;&lt;br /&gt;Trace complete.&lt;br /&gt;&lt;br /&gt;C:\Documents and Settings\unplug1.6&gt;&lt;strong&gt;nslookup&lt;/strong&gt; 192.168.16.160&lt;br /&gt;Server:  oh-01.xx.com&lt;br /&gt;Address:  182.16.160.16&lt;br /&gt;&lt;br /&gt;*** oh-01.xx.com can't find 192.168.16.160: Non-existent domain&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-3396208578643016707?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/3396208578643016707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=3396208578643016707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/3396208578643016707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/3396208578643016707'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/11/network-problem.html' title='network problem?'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-8050964452215865759</id><published>2007-11-09T16:02:00.000-05:00</published><updated>2007-11-09T16:13:26.249-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multi-thread'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='threading'/><title type='text'>C# threading example</title><content type='html'>This is a simple, but handy multi-thread example. The two "foreach" sections at the end is where the hip happens. All process' will start at the same time and "Main" will not exit until all threads have been joined.&lt;br /&gt;&lt;br /&gt;static void Main(string[] args)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;ArrayList threads = new ArrayList();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(args.Length &gt; 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;switch(args[0].ToUpper())&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "case1" :&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case1Export case1 = new case1Export();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t1 = new Thread(new ThreadStart(case1.Start));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;threads.Add(t1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "case2" :&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case2Export case2 = new case2Export();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t2 = new Thread(new ThreadStart(case2.Start));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;threads.Add(t2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case "case3" :&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case3Export case3 = new case3Export();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread t3 = new Thread(new ThreadStart(case3.Start));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;threads.Add(t3);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;default :&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;foreach(Thread thread in threads)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;thread.Start();&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;foreach(Thread joinThread in threads)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;joinThread.Join();&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-8050964452215865759?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/8050964452215865759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=8050964452215865759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8050964452215865759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8050964452215865759'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/11/c-threading-example.html' title='C# threading example'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-726413285642027257</id><published>2007-10-11T16:42:00.000-04:00</published><updated>2007-10-11T16:45:59.557-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='.aspx page'/><category scheme='http://www.blogger.com/atom/ns#' term='print page'/><title type='text'>Print page with simple script</title><content type='html'>It is simple to add print capabilities to a page. This would be useful if you are opening a page without menu options.&lt;br /&gt;&lt;br /&gt;function printpage() &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;window.print(); &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type="button" id="PrintBtn" name="PrintBtn" value="Print" class="Btn" onclick="printpage();"&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-726413285642027257?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/726413285642027257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=726413285642027257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/726413285642027257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/726413285642027257'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/10/print-page-with-simple-script.html' title='Print page with simple script'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-565220460249872921</id><published>2007-09-12T10:26:00.000-04:00</published><updated>2007-11-13T10:44:01.203-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Checkbox'/><category scheme='http://www.blogger.com/atom/ns#' term='multiple values'/><title type='text'>Minutia of a Javascript Checkbox</title><content type='html'>An overlooked aspect of the Javascript checkbox is, unlike it's asp:checkbox brother, you can group them together with one name and view the values on the server side. In this example, a checkbox is placed in an asp:datagrid. An asp:repeater would work the same way. &lt;br /&gt;&lt;br /&gt;This would go in the datagrid/repeater:&lt;br /&gt;&amp;lt;input type="checkbox" name="VALUEChkBx" value='&amp;lt;%#DataBinder.Eval(Container.DataItem, "aValue")%&amp;gt;' onclick="return VALUEChkBx_Click(this, event);"&amp;gt;&lt;br /&gt;----------------------------------------------------------------------------&lt;br /&gt;On the page you could add some javascript functionality by taking advantage of the onclick attribute:&lt;br /&gt;function VALUEChkBx_Click(src, e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;var f = src.form; &lt;br /&gt;&amp;nbsp;&amp;nbsp;f.EmailBtn.disabled = true;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;for (i=0, j=f.length; i&amp;lt;j; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var ele = f[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (ele.name == "VALUEChkBx" &amp;&amp; ele.checked)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f.EmailTxt.disabled = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f.EmailBtn.disabled = false;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;---------------------------------------------------------------------------&lt;br /&gt;Now for the intricate part, the code behind:&lt;br /&gt;&lt;span style="color:red"&gt;string valueList = Request.Form["VALUEChkBx"];&lt;/span&gt;&lt;br /&gt;if (valueList != null &amp;&amp; valueList.Length != 0)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;string [] aList = valueList.Split(',');&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;for(int i=0; i&amp;lt;aList.Length; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:red"&gt;string value = aList[i].ToString();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;**Notice that aList holds each individual value of the checkboxes that were checked on the page. Take special note to request the checkbox(s) using the form - Request.Form["VALUEChkBx"]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-565220460249872921?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/565220460249872921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=565220460249872921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/565220460249872921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/565220460249872921'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/09/minutia-of-javascript-checkbox.html' title='Minutia of a Javascript Checkbox'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5522345905953571860</id><published>2007-09-06T12:03:00.000-04:00</published><updated>2007-09-06T12:08:17.573-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cut and Paste'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>Windows XP Cut and Paste not working?</title><content type='html'>If you find yourself having trouble transferring data using the antiquated cut and paste feature of Windows and find it's not working, you have too many programs running. No, I don't have an MSDN link backing my statement, but if you close some excess programs, your cut and paste will function again. &lt;br /&gt;If anyone has a link explaining this jacked performance, let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5522345905953571860?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5522345905953571860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5522345905953571860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5522345905953571860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5522345905953571860'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/09/windows-xp-cut-and-paste-not-working.html' title='Windows XP Cut and Paste not working?'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-5839610970556995404</id><published>2007-08-29T12:00:00.000-04:00</published><updated>2007-08-29T12:54:39.340-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='keyCode'/><category scheme='http://www.blogger.com/atom/ns#' term='catch keypress'/><category scheme='http://www.blogger.com/atom/ns#' term='keyCode table'/><category scheme='http://www.blogger.com/atom/ns#' term='Unicode'/><title type='text'>keyCode table for Unicode standard</title><content type='html'>&lt;b&gt;The following is a table defining the keyCode for particular key presses&lt;/b&gt;&lt;br /&gt;With this table you can catch key presses using Javascript with the following:&lt;br /&gt;//The javascript functions:&lt;br /&gt;function InKeyRange(e, min, max)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (min == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min = 0;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;if (max == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max = 65000;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;if (max &lt; min)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var tmp = min;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min = max;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max = tmp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;var keyCode = (is_nav) ? e.which : e.keyCode;&lt;br /&gt;&amp;nbsp;&amp;nbsp;return ((min &lt;= keyCode) &amp;&amp; (keyCode &lt;= max));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// test if the keycode of the key pressed is a numeric key 0-9&lt;br /&gt;function IsNumericKey(e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;return InKeyRange(e, 48, 57);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Call javascript functions from within a textbox&lt;br /&gt;&amp;lt;asp:TextBox Runat="server" onkeypress="return IsNumericKey(event);"  Width="35" ID="TB1"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;&lt;br /&gt;If the key pressed is not within the givin value, the textbox won't accept the input.&lt;br /&gt;&lt;br /&gt;Now here is the table defining the keyCodes:&lt;br /&gt;&lt;TABLE style="BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; MARGIN-LEFT: 6px; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; BORDER-COLLAPSE: separate; TEXT-ALIGN: left" cellSpacing="1" cellPadding="2" border="1"&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td style="BORDER-RIGHT: silver 1px solid"&gt;&lt;br /&gt;a = 97&lt;br /&gt;b = 98&lt;br /&gt;c = 99&lt;br /&gt;d = 100&lt;br /&gt;e = 101&lt;br /&gt;f = 102&lt;br /&gt;g = 103&lt;br /&gt;h = 104&lt;br /&gt;i = 105&lt;br /&gt;j = 106&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="BORDER-RIGHT: silver 1px solid"&gt;&lt;br /&gt;k = 107&lt;br /&gt;l = 108&lt;br /&gt;m = 109&lt;br /&gt;n = 110&lt;br /&gt;o = 111&lt;br /&gt;p = 112&lt;br /&gt;q = 113&lt;br /&gt;r = 114&lt;br /&gt;s = 115&lt;br /&gt;t = 116&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="BORDER-RIGHT: silver 1px solid"&gt;&lt;br /&gt;u = 117&lt;br /&gt;v = 118&lt;br /&gt;w = 119&lt;br /&gt;x = 120&lt;br /&gt;y = 121&lt;br /&gt;z = 122&lt;br /&gt;0 = 48&lt;br /&gt;1 = 49&lt;br /&gt;2 = 50&lt;br /&gt;3 = 51&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="BORDER-RIGHT: silver 1px solid"&gt;&lt;br /&gt;4 = 52&lt;br /&gt;5 = 53&lt;br /&gt;6 = 54&lt;br /&gt;7 = 55&lt;br /&gt;8 = 56&lt;br /&gt;9 = 57&lt;br /&gt;' = 39&lt;br /&gt;, = 44&lt;br /&gt;- = 45&lt;br /&gt;. = 46&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;/ = 47&lt;br /&gt;: = 58&lt;br /&gt;= = 61&lt;br /&gt;[ = 91&lt;br /&gt;\ = 92&lt;br /&gt;] = 93&lt;br /&gt;` = 96&lt;br /&gt;return = 13&lt;br /&gt;escape = 27&lt;br /&gt;space bar = 32&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-5839610970556995404?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/5839610970556995404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=5839610970556995404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5839610970556995404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/5839610970556995404'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/08/keycode-table-for-unicode-standard.html' title='keyCode table for Unicode standard'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-438394568331318343</id><published>2007-08-28T13:45:00.000-04:00</published><updated>2007-08-28T14:52:08.859-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='raiserror'/><category scheme='http://www.blogger.com/atom/ns#' term='transaction'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL raising errors as part of transaction</title><content type='html'>Here is an example of a sql stored procedure with a transaction which can raise an error and return if some condition is met, it will also catch an error from any called procedure and roll-back the transaction if necessary.&lt;br /&gt;&lt;/br&gt;&lt;br /&gt;BEGIN TRAN&lt;br /&gt;&lt;br /&gt;EXEC dbo.some_sql_function @variable&lt;br /&gt;&lt;br /&gt;IF(some_condition)&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;RAISERROR ('this %s doesn''t exist.', 16, 1, @errordesc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;RETURN&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;IF (@@ERROR = 0)&lt;br /&gt;BEGIN&lt;br /&gt; &amp;nbsp;&amp;nbsp;COMMIT TRAN&lt;br /&gt; &amp;nbsp;&amp;nbsp;SELECT 1&lt;br /&gt;END&lt;br /&gt;ELSE&lt;br /&gt;BEGIN&lt;br /&gt; &amp;nbsp;&amp;nbsp;ROLLBACK TRAN&lt;br /&gt; &amp;nbsp;&amp;nbsp;SELECT -1&lt;br /&gt;END&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-438394568331318343?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/438394568331318343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=438394568331318343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/438394568331318343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/438394568331318343'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/08/sql-raising-errors-as-part-of.html' title='SQL raising errors as part of transaction'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-7001504910206035211</id><published>2007-08-24T13:23:00.000-04:00</published><updated>2007-08-24T13:42:09.256-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='right join'/><category scheme='http://www.blogger.com/atom/ns#' term='left join'/><category scheme='http://www.blogger.com/atom/ns#' term='left outer join'/><category scheme='http://www.blogger.com/atom/ns#' term='right outer join'/><title type='text'>difference between left join and left outer join</title><content type='html'>There is no difference between a left join and left outer join (or right join and right outer join).  The left/right join simply defaults to the left/right outer join.  An explaination can be found on MSDN &lt;a href="http://msdn2.microsoft.com/en-us/library/Bb208894.aspx"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-7001504910206035211?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/7001504910206035211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=7001504910206035211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7001504910206035211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/7001504910206035211'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/08/difference-between-left-join-and-left.html' title='difference between left join and left outer join'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-4135964223511086882</id><published>2007-08-23T16:24:00.000-04:00</published><updated>2007-08-29T12:50:53.255-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='confirm pop-up'/><category scheme='http://www.blogger.com/atom/ns#' term='Repeater'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>add confirmation pop up to a repeaters link button</title><content type='html'>If you have a repeater that is creating a LinkButtons that you want the users action to be confirmed by a javascript confimation box, you can follow the following scheme:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.)&lt;/b&gt; Create the repeater in the .aspx file and add the LinkButton:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:Repeater ID="aRepeater" Runat="server" &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;#DataBinder.Eval(Container.DataItem, "title")%&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;ItemTemplate &amp;gt;      &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;asp:LinkButton Runat="server" ID="Btn" CommandArgument=%#DataBinder.Eval    (Container.DataItem, "arg")%&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/asp:LinkButton&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;&amp;lt;/asp:Repeater&amp;gt;  &lt;br /&gt; &lt;br /&gt;&lt;b&gt;2.)&lt;/b&gt; Add the javascript confirmation in the head that you want the LinkButtons to use:&lt;br /&gt;&amp;lt;script language="javascript"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;function Confirm()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return confirm("Are you sure?");&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3.)&lt;/b&gt; Override the Repeaters ItemCreated event and add the attribute to the LinkButton:&lt;br /&gt;private void Repeater_ItemCreated(object sender, RepeaterItemEventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;LinkButton btn = e.Item.FindControl("Btn") as LinkButton;&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (btn != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;btn.Attributes["onclick"] = "return Confirm();";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4.)&lt;/b&gt; Wire-up the delegate in the InitializeComponent section:&lt;br /&gt;this.Repeater.ItemCreated +=new RepeaterItemEventHandler(Repeater_ItemCreated);&lt;br /&gt;&lt;br /&gt;That's it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-4135964223511086882?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/4135964223511086882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=4135964223511086882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4135964223511086882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4135964223511086882'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/08/add-confirmation-pop-up-to-repeaters.html' title='add confirmation pop up to a repeaters link button'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-448427695874718951</id><published>2007-07-31T11:28:00.000-04:00</published><updated>2007-08-28T13:52:32.128-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Keys'/><category scheme='http://www.blogger.com/atom/ns#' term='Hashtable'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Get keys out of Hashtable</title><content type='html'>You've filled up your Hashtable with key/value pairs, now how do you get the keys out? Below is a simple way using foreach:&lt;br /&gt;&lt;br /&gt;  protected Hashtable list = new Hashtable();&lt;br /&gt;&lt;br /&gt;  public void AddItem(int itemnum, string title, int cost, int quantity)&lt;br /&gt;  {&lt;br /&gt;     &amp;nbsp;&amp;nbsp;Item i = new Item();&lt;br /&gt;     &amp;nbsp;&amp;nbsp;i.Cost=cost;&lt;br /&gt;     &amp;nbsp;&amp;nbsp;i.ItemId=itemnum;&lt;br /&gt;     &amp;nbsp;&amp;nbsp;i.Quantity=quantity;&lt;br /&gt;     &amp;nbsp;&amp;nbsp;i.Title=title;&lt;br /&gt;&lt;br /&gt;     &amp;nbsp;&amp;nbsp;list.Add(itemnum, i);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public int GetTotal()&lt;br /&gt;  {&lt;br /&gt;    &amp;nbsp;&amp;nbsp;int tot=0;&lt;br /&gt;   &amp;nbsp;&amp;nbsp;&lt;strong&gt; IDictionaryEnumerator Enum = list.GetEnumerator();&lt;br /&gt;   &amp;nbsp;&amp;nbsp;while(Enum.MoveNext())&lt;br /&gt;   {&lt;br /&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Item i = (Item)list[Enum.Key];&lt;br /&gt;    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tot+=(i.Cost*i.Quantity);&lt;br /&gt;   }&lt;br /&gt;    &lt;/strong&gt;&lt;br /&gt;    &amp;nbsp;&amp;nbsp;return tot;&lt;br /&gt;  }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-448427695874718951?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/448427695874718951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=448427695874718951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/448427695874718951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/448427695874718951'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/07/get-keys-out-of-hashtable.html' title='Get keys out of Hashtable'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6197287584978603709</id><published>2007-07-30T12:05:00.000-04:00</published><updated>2007-07-30T12:17:17.202-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='ringtones'/><category scheme='http://www.blogger.com/atom/ns#' term='upload ringtones'/><title type='text'>Add better ringtones to iPhones lacking alerts</title><content type='html'>The iPhone is lacking in the ringtone alert department. Take the half-hour set-up and spare yourself from drab incoming call alerts.&lt;br /&gt;&lt;br /&gt;1.) Get yourself some tones you'd rather hear when a call comes in. Try this suggestion from &lt;a href="http://www.tuaw.com/2007/07/27/create-iphone-ringtones-from-itunes-previews/"&gt;tuaw&lt;/a&gt; which describes how to use iTunes clips for use as a ringtone. &lt;br /&gt;&lt;br /&gt;2.) Once you've got a few tones, head over to &lt;a href="http://hacktheiphone.com/iphone_downloads.html"&gt;Hack the iPhone&lt;/a&gt; and download iPhoneInterface. Here is the &lt;a href="http://hacktheiphone.com/downloads/ipi2.zip"&gt;direct link&lt;/a&gt; to the download for Windows (XP and Vista). This tool is what you will use to upload your tones to the iPhone.&lt;br /&gt;&lt;br /&gt;3.) Now that you have your tones and have uploaded them to your iPhone using iPhoneInterface, you simply navigate to Settings -&gt; Sound &gt; Ringtone on your iPhone and choose the new ringtone you just uploaded.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6197287584978603709?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6197287584978603709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6197287584978603709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6197287584978603709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6197287584978603709'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/07/add-better-ringtones-to-iphones-lacking.html' title='Add better ringtones to iPhones lacking alerts'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6721298522984108267</id><published>2007-07-13T14:54:00.000-04:00</published><updated>2007-07-13T15:08:50.082-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='InstallState'/><title type='text'>Could not find file InstallState</title><content type='html'>I created a Windows Service which needed installed onto the machine before I could test its functionality. I added a setup project (File &gt; Add &gt; New Project) and added the Setup Project under "Other Project Types". Everything built fine and I was ready to go until I started receiving the 'Could not find file...InstallState' when I tried to actually install the service. It took a half a day to figure out the problem, here is what I found. When you initially set up the project and go into Custom Actions to add primary output the project looks like this:&lt;br /&gt;&lt;a href="http://picasaweb.google.com/unplug1.6/Blog/photo?authkey=YVQa8lhpPqk#5086755539823637970"&gt;&lt;img src="http://lh6.google.com/unplug1.6/RpfJNnJwNdI/AAAAAAAAAF0/j-CoxMM6D-w/s144/CustomAction.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;As you'll notice, there are too many primary active outputs.  Delete all four from the left side under Install, Commit, Rollback, and Uninstall.  If there are two under your setup file in Solution exporer (see highlights), then delete one or you will receive a some removed file error.  The best way to do it is delete both and then right click the setup project (in solution explorer) go to Add &gt; Project Output and set the service as primary output.  You should then only have one listing under your setup project and none listed in the Custom Action section.  Once your solution looks like the below, build and install.&lt;br /&gt;&lt;a href="http://picasaweb.google.com/unplug1.6/Blog/photo?authkey=YVQa8lhpPqk#5086755548413572578"&gt;&lt;img src="http://lh4.google.com/unplug1.6/RpfJOHJwNeI/AAAAAAAAAF8/x6oVhUs8woo/s144/CustomActionCorrect.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6721298522984108267?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6721298522984108267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6721298522984108267' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6721298522984108267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6721298522984108267'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/07/could-not-find-file-installstate.html' title='Could not find file InstallState'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-1482928654325337884</id><published>2007-07-12T16:40:00.000-04:00</published><updated>2007-07-12T16:42:29.772-04:00</updated><title type='text'>install windows service</title><content type='html'>I found a great explanation on how to install a Windows Service using Visual Studios 2005. http://aspalliance.com/1316_Working_with_Windows_Service_Using_Visual_Studio_2005#Page4 &lt;br /&gt;Thanks Abhishek!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-1482928654325337884?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/1482928654325337884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=1482928654325337884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1482928654325337884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1482928654325337884'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/07/install-windows-service.html' title='install windows service'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-1660789272370051094</id><published>2007-07-02T13:51:00.000-04:00</published><updated>2007-07-02T13:53:21.153-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>iPhone root password cracked</title><content type='html'>That was quick...&lt;br /&gt;&lt;br /&gt;Root password is "alpine"&lt;br /&gt;The user account "mobile" has a password of "dottie"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-1660789272370051094?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/1660789272370051094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=1660789272370051094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1660789272370051094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1660789272370051094'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/07/iphone-root-password-cracked.html' title='iPhone root password cracked'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-4482384446647951324</id><published>2007-06-25T16:58:00.000-04:00</published><updated>2007-06-25T17:01:52.529-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Black Keys'/><title type='text'>The Black Keys</title><content type='html'>The Black Keys tonight.  Yeah, it's sold out.  Cry.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/unplug1.6/TheBlackKeys/photo#5080108736506148226"&gt;&lt;img src="http://lh5.google.com/image/unplug1.6/RoAr-vPOtYI/AAAAAAAAAFc/K3gKYfo8u8Q/s144/the%20black%20keys.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-4482384446647951324?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/4482384446647951324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=4482384446647951324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4482384446647951324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/4482384446647951324'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/06/black-keys.html' title='The Black Keys'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-777255159599976409</id><published>2007-06-18T13:14:00.001-04:00</published><updated>2007-06-19T14:55:05.945-04:00</updated><title type='text'>How to Clean Up a Windows Spyware Infestation</title><content type='html'>A great solution to clean out lingering spyware.&lt;br&gt;&lt;br /&gt;&lt;strong&gt;programming and human factors&lt;br /&gt;by Jeff Atwood &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;View &lt;a href="http://www.codinghorror.com/blog/archives/000888.html" target="_blank"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-777255159599976409?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/777255159599976409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=777255159599976409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/777255159599976409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/777255159599976409'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/06/how-to-clean-up-windows-spyware_18.html' title='How to Clean Up a Windows Spyware Infestation'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-8441201015725550238</id><published>2007-06-05T11:09:00.000-04:00</published><updated>2007-06-05T11:16:45.583-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63 56 88 c0'/><category scheme='http://www.blogger.com/atom/ns#' term='Proof of concept'/><title type='text'>09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63 56 88 c0</title><content type='html'>Just in case anyone hasn't found the Hex processing key that unlocks HD-DVD from the confines of DRM, here it is.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63 56 88 c0&lt;/strong&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Proof of concept code for the process key hack is here: http://forum.doom9.org/showthread.php?p=953484#post953484 &lt;br /&gt;&lt;br /&gt;Implementation for Windows: &lt;br /&gt;http://forum.doom9.org/showthread.php?p=953496#post953496 &lt;br /&gt;&lt;br /&gt;Implementation for OSX: &lt;br /&gt;http://forum.doom9.org/showthread.php?p=953516#post953516&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-8441201015725550238?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/8441201015725550238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=8441201015725550238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8441201015725550238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/8441201015725550238'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/06/09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63.html' title='09 f9 11 02 9d 74 e3 5b d8 41 56 c5 63 56 88 c0'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-23535437134330927</id><published>2007-05-29T22:08:00.000-04:00</published><updated>2007-05-29T22:11:42.186-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='beer'/><category scheme='http://www.blogger.com/atom/ns#' term='party'/><category scheme='http://www.blogger.com/atom/ns#' term='bananas'/><title type='text'>Who wants to party?</title><content type='html'>&lt;A HREF='http://1.bp.blogspot.com/_MCxnfx2MzIM/RlzcmBB6MyI/AAAAAAAAABs/GRWF7rz1Fkc/s1600-h/shirt3.jpg'&gt;&lt;IMG SRC='http://1.bp.blogspot.com/_MCxnfx2MzIM/RlzcmBB6MyI/AAAAAAAAABs/GRWF7rz1Fkc/s400/shirt3.jpg' border=0 alt='' id='BLOGGER_PHOTO_ID_' style='clear:both;float:left; margin:0px 10px 10px 0;'&gt;&lt;/A&gt;&amp;nbsp;&lt;div style='clear:both; text-align:LEFT'&gt;&lt;a href='http://picasa.google.com/blogger/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbp.gif' alt='Posted by Picasa' style='border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;' align='middle' border='0' /&gt;&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/7971282685828719709-23535437134330927?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/23535437134330927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=23535437134330927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/23535437134330927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/23535437134330927'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/05/blog-post.html' title='Who wants to party?'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MCxnfx2MzIM/RlzcmBB6MyI/AAAAAAAAABs/GRWF7rz1Fkc/s72-c/shirt3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-6610544533569719972</id><published>2007-05-29T14:16:00.000-04:00</published><updated>2007-08-29T12:53:05.313-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Math.Ceiling'/><category scheme='http://www.blogger.com/atom/ns#' term='Index Error with Math.Ceiling'/><category scheme='http://www.blogger.com/atom/ns#' term='C# Index Error'/><title type='text'>Math.Ceiling Error</title><content type='html'>Reviewing a string splitting function that was throwing an index out of range error proved to be a *problem* with Math.Ceiling.&lt;br /&gt;The said function simply takes any sized string and the length that the caller wants each line to equal and returns a new string array with each row holding a line of the specified length.&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------&lt;br /&gt;public static string[] SplitStringToLines(string s, int lineLength)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;int sLength = (s == null ? 0 : s.Length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;int totLines = Convert.ToInt32(Math.Ceiling(sLength/(lineLength &lt;= 0 ? sLength : lineLength)));&lt;br /&gt;&amp;nbsp;&amp;nbsp;string[] lines = new string[totLines];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int line = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int length = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int startIndex = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;while (startIndex &lt; sLength)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;length = Math.Min(sLength-startIndex, lineLength);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lines[line] = s.Substring(startIndex, length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startIndex += length;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;line += 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;return lines;&lt;br /&gt;}&lt;br /&gt;---------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;The cure came when I casted the variables being fed to Math.Ceiling, which makes sense when viewing the overloaded details &lt;a href="http://msdn2.microsoft.com/en-us/library/system.math.ceiling.aspx"&gt;provided by microsoft&lt;/a&gt;. &lt;br /&gt;Changing the Math.Ceiling line to: &lt;br /&gt;&lt;blockquote&gt;Convert.ToInt32(Math.Ceiling((double)sLength/(lineLength &lt;= 0 ? (double)sLength : (double)lineLength)));&lt;/blockquote&gt;&lt;br /&gt;remedied the index error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-6610544533569719972?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/6610544533569719972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=6610544533569719972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6610544533569719972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/6610544533569719972'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/05/mathceiling-error.html' title='Math.Ceiling Error'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7971282685828719709.post-1259200864538949869</id><published>2007-05-27T12:12:00.000-04:00</published><updated>2007-05-27T13:32:06.177-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business growth'/><category scheme='http://www.blogger.com/atom/ns#' term='coworking'/><title type='text'>Coworking community and the company.</title><content type='html'>I bumped into a new idea today which can be a great asset to a developer in my shoes trying to get a business off the ground. The &lt;a href="http://coworking.pbwiki.com/"&gt;coworking community&lt;/a&gt; with their combined knowledge can fill in the blanks that are missing from my business experience.&lt;br /&gt;I've developed in software projects for the past few years ranging from small business to a world-wide, market-leading corporation. What I haven't had experience with, is what takes a company from a small business to a world-wide, market-leading corporation. The combined knowledge of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;coworking&lt;/span&gt; community has.&lt;br /&gt;I'm just getting my feet wet with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;coworking&lt;/span&gt;, but I believe this is the route to move an idea to a virtual business and beyond.&lt;br /&gt;I'd like to hear from coworkers who have experience in this atmosphere to validate my ideas of collaborative business growth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7971282685828719709-1259200864538949869?l=unplug1dot6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unplug1dot6.blogspot.com/feeds/1259200864538949869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7971282685828719709&amp;postID=1259200864538949869' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1259200864538949869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7971282685828719709/posts/default/1259200864538949869'/><link rel='alternate' type='text/html' href='http://unplug1dot6.blogspot.com/2007/05/coworking-community-and-company.html' title='Coworking community and the company.'/><author><name>unplug1.6</name><uri>http://www.blogger.com/profile/13439495067529400591</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh3.google.com/image/unplug1.6/Rlm06xB6MqI/AAAAAAAAAAs/KEZmRsvGamU/NYC26.jpg'/></author><thr:total>2</thr:total></entry></feed>
