<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>ASP</title><link>http://blog.blueshop.com.tw/topcat/category/524.aspx</link><description>ASP,HTML,VBScript等技術文章 </description><managingEditor>topcat</managingEditor><dc:language>zh-TW</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>topcat</dc:creator><title>jQuery透過ajax取得yahoo新聞Rss範例</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/08/08/56540.aspx</link><pubDate>Fri, 08 Aug 2008 13:39:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/08/08/56540.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/56540.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/08/08/56540.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/56540.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/56540.aspx</trackback:ping><description>&lt;p&gt;這個範例是使用jQuery 的.ajax，從Yahoo新聞的Rss擷取後，產生超連結在自己的網頁中。測試的時候只需要一個html與jQuery.js即可。&lt;/p&gt; 
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HEAD&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;META&lt;/span&gt; &lt;span class="attr"&gt;NAME&lt;/span&gt;&lt;span class="kwrd"&gt;="GENERATOR"&lt;/span&gt; &lt;span class="attr"&gt;Content&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft Visual Studio 6.0"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Script&lt;/span&gt; &lt;span class="attr"&gt;Language&lt;/span&gt;&lt;span class="kwrd"&gt;="JavaScript"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt; &lt;span class="attr"&gt;Src&lt;/span&gt;&lt;span class="kwrd"&gt;="jQuery.js"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&amp;lt;Script Language=&lt;span class="str"&gt;"JavaScript"&lt;/span&gt;&amp;gt;
&amp;lt;!--
$(document).ready(&lt;span class="kwrd"&gt;function&lt;/span&gt;(){
    $(&lt;span class="str"&gt;'#button1'&lt;/span&gt;).click(&lt;span class="kwrd"&gt;function&lt;/span&gt;(){
        &lt;span class="kwrd"&gt;var&lt;/span&gt; strURL=&lt;span class="str"&gt;'http://tw.news.yahoo.com/rss/tech_3c'&lt;/span&gt;;
        $.ajax({
            type:&lt;span class="str"&gt;'GET'&lt;/span&gt;,
            dataType:&lt;span class="str"&gt;'xml'&lt;/span&gt;,
            url:strURL,
            success:&lt;span class="kwrd"&gt;function&lt;/span&gt;(xml){
                &lt;span class="kwrd"&gt;var&lt;/span&gt; myTitle;
                &lt;span class="kwrd"&gt;var&lt;/span&gt; myLink;
                $(&lt;span class="str"&gt;'item'&lt;/span&gt;,xml).each(&lt;span class="kwrd"&gt;function&lt;/span&gt;(e){
                    myTitle=$(&lt;span class="str"&gt;'title'&lt;/span&gt;,&lt;span class="kwrd"&gt;this&lt;/span&gt;).text();
                    myLink=$(&lt;span class="str"&gt;'link'&lt;/span&gt;,&lt;span class="kwrd"&gt;this&lt;/span&gt;).text();
                    $(&lt;span class="str"&gt;'&amp;lt;a/&amp;gt;'&lt;/span&gt;).attr(&lt;span class="str"&gt;'href'&lt;/span&gt;,myLink).attr(&lt;span class="str"&gt;'target'&lt;/span&gt;,&lt;span class="str"&gt;'_blank'&lt;/span&gt;).text(myTitle).appendTo($(&lt;span class="str"&gt;'#div1'&lt;/span&gt;));
                    $(&lt;span class="str"&gt;'&amp;lt;br/&amp;gt;'&lt;/span&gt;).appendTo($(&lt;span class="str"&gt;'#div1'&lt;/span&gt;));
                });
                alert($(&lt;span class="str"&gt;'#div1'&lt;/span&gt;).html());
            }
        })
    })
})

&lt;span class="rem"&gt;//--&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TITLE&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;TITLE&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HEAD&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt; &lt;span class="attr"&gt;onbeforeunload&lt;/span&gt;&lt;span class="kwrd"&gt;="RunOnBeforeUnload()"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FORM&lt;/span&gt; &lt;span class="attr"&gt;action&lt;/span&gt;&lt;span class="kwrd"&gt;=""&lt;/span&gt; &lt;span class="attr"&gt;method&lt;/span&gt;=&lt;span class="attr"&gt;POST&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;=&lt;span class="attr"&gt;form1&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;=&lt;span class="attr"&gt;form1&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;INPUT&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="button"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Button"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;=&lt;span class="attr"&gt;button1&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;=&lt;span class="attr"&gt;button1&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FORM&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="div1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/56540.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>轉貼_JavaScript的UrlEncode,UrlDecode</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/07/25/56244.aspx</link><pubDate>Fri, 25 Jul 2008 11:16:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/07/25/56244.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/56244.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/07/25/56244.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/56244.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/56244.aspx</trackback:ping><description>&lt;p&gt;來源：&lt;a title="http://www.wujianrong.com/archives/2006/11/javascripturlencodeurldecode.html" href="http://www.wujianrong.com/archives/2006/11/javascripturlencodeurldecode.html" target="_blank"&gt;http://www.wujianrong.com/archives/2006/11/javascripturlencodeurldecode.html&lt;/a&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:99fca18c-9b93-49f2-b448-eb8564988c06" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="js"&gt;&amp;lt;script language="javascript"&amp;gt;
//可參考資料 http://www.wujianrong.com/archives/2006/11/javascripturlencodeurldecode.html
/*這裡開始 UrlEncode、UrlDecode 函數*/ 
function UrlEncode(str){ 
  var ret=""; 
  var strSpecial="!\"#$%&amp;amp;'()*+,/:;&amp;lt;=&amp;gt;?[]^`{|}~%"; 
  var tt= "";

  for(var i=0;i&amp;lt;str.length;i++){ 
   var chr = str.charAt(i); 
    var c=str2asc(chr); 
    tt += chr+":"+c+"n"; 
    if(parseInt("0x"+c) &amp;gt; 0x7f){ 
      ret+="%"+c.slice(0,2)+"%"+c.slice(-2); 
    }else{ 
      if(chr==" ") 
        ret+="+"; 
      else if(strSpecial.indexOf(chr)!=-1) 
        ret+="%"+c.toString(16); 
      else 
        ret+=chr; 
    } 
  } 
  return ret; 
} 

function UrlDecode(str){ 
  var ret=""; 
  for(var i=0;i&amp;lt;str.length;i++){ 
   var chr = str.charAt(i); 
    if(chr == "+"){ 
      ret+=" "; 
    }else if(chr=="%"){ 
     var asc = str.substring(i+1,i+3); 
     if(parseInt("0x"+asc)&amp;gt;0x7f){ 
      ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6))); 
      i+=5; 
     }else{ 
      ret+=asc2str(parseInt("0x"+asc)); 
      i+=2; 
     } 
    }else{ 
      ret+= chr; 
    } 
  } 
  return ret; 
}
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/56244.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>jQuery初體驗</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/07/25/56242.aspx</link><pubDate>Fri, 25 Jul 2008 10:16:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/07/25/56242.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/56242.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/07/25/56242.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/56242.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/56242.aspx</trackback:ping><description>&lt;h1&gt;緣起&lt;/h1&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 小喵經常會在各個技術blog中閒逛，有次逛到&lt;a href="http://blog.darkthread.net/" target="_blank"&gt;黑暗執行緒&lt;/a&gt;大大的網站，看到了一篇【&lt;a href="http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/05/15/2399.aspx#3049" target="_blank"&gt;jQuery, I LOVE YOU~~~&lt;/a&gt;】文章，文章中說了他發給【ASP.NET AJAX Client Library】好人卡，並且移情別戀轉而跟【jQuery】在一起的經過。讓小喵留下了深刻的印象。不過，這時小喵還是不曉得jQuery是什麼。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 後來有次小喵剛好要買幾本書，在逛【&lt;a href="http://tlsj.tenlong.com.tw/WebModule/index.do" target="_blank"&gt;書店&lt;/a&gt;】的時候的時候(小喵目前已經很少跑真正的書店，逛得只是書店的網站)，還差一點就可免運費，所以順便找找看是否有什麼新書可以買。剛好看到jQuery有本新的中文書出版。於是小喵就把它放入購物車。從此開始與jQuery結緣。本來買了書後，打算先翻翻看看這個東西到底是什麼，能讓黑暗執行緒大大隊ASP.NET AJAX&amp;nbsp; Client Library發出好人卡。沒想到這個迷死人不償命的小寶貝，竟然開始勾引小喵。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h1&gt;jQuery是什麼??&lt;/h1&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery是一組JavaScript的library，而且是免費的library。使用的時候也只需要指定&amp;lt;Script src="jQuery.js"&amp;gt;&amp;lt;/Script&amp;gt;就可以開始引用了。因此無論是用什麼樣的網頁開發程式(ASP,ASP.NET,JSP,PHP,CGI,....)，甚至只需要HTML就可以使用。因此要測試jQuery，甚至不必上網，只需要記事本撰寫html就可以測試使用了。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h1&gt;下載&lt;/h1&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 先說明要準備使用jQuery之前，需要些什麼：&lt;/p&gt; &lt;p&gt;首先需要把jQuery帶回家。有個繁體中文的網址【&lt;a href="http://www.jquery.com.tw/" target="_blank"&gt;jQuery: 寫得少, 做得多, JavaScript 程式庫&lt;/a&gt;】不過也僅止於這麼少少的幾頁，可以把最新版本的jQuery下載回來。下載的部分他分為三種：&lt;/p&gt; &lt;ol&gt; &lt;li&gt;GZip的版本(Minified)：js經過GZip壓縮過，檔案最小，適合放在正式環境中，1.26版大約16kb  &lt;li&gt;未壓縮版本(Uncompressed)：適用於測試開發學習。1.26版大約97kb  &lt;li&gt;包裝版(Packed)：給沒有辦法解GZip瀏覽器用的版本1.26版大約30kb &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;其實就算是使用Uncompressed的版本，大小也只有97kb，檔案非常的小(可能網頁中隨便一張圖就比這個大了)。而小喵自己則是取中庸的Packed版本使用。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h1&gt;測試&lt;/h1&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 接下來開始重頭戲，我們初體驗的實際運作範例。也開始體驗一下為何這個小東西會勾引小喵的原因。首先來個範例，小喵產生一個html檔案在畫面上安排了個兩個按鈕(&amp;lt;input type="button")以及一個img並且指向一個jpg。&lt;/p&gt; &lt;p&gt;現在假設要設定，一開始要把img1圖形隱藏，按下按鈕後，希望可以把他顯示出來，再按一次按鈕，又可以把他隱藏。這個對於已經熟悉JavaScript的人，應該不難。小喵寫個簡單的&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:58cef534-c99a-4cd3-9125-c215f2a54f91" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="xml"&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;

&amp;lt;script Language="JavaScript"&amp;gt;
&amp;lt;!--

function window_onload(){
	var img1=window.document.getElementById('img1');
	img1.style.display='none';
}

function btn1_click(){
	var img1=window.document.getElementById('img1');
	if(img1.style.display=='none')
	{
		img1.style.display='';
	}
	else
	{
		img1.style.display='none';
	}
}

//--&amp;gt;
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body onload="window_onload()"&amp;gt;
	&amp;lt;input type="button" id="btn1" name="btn1" value="JavaScript按鈕" onclick="btn1_click()" /&amp;gt;
	&amp;lt;br /&amp;gt;
	&amp;lt;img id="img1" src="topcat.jpg" /&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;而以上的動作，如果希望由jQuery來處理的話，那又如何呢&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:0fc35322-afa3-4ab4-ae21-22e1c38532e0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="xml"&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;Script Language="JavaScript" src="jQuery.js"&amp;gt;&amp;lt;/Script&amp;gt;
&amp;lt;script Language="JavaScript"&amp;gt;
&amp;lt;!--
$(document).ready(function(){
	$('#img1').hide();
	$('#btn2').click(function(){
		$('#img1').toggle();
	})
})

//--&amp;gt;
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;input type="button" id="btn2" name="btn2" value="jQuery按鈕" /&amp;gt;
	&amp;lt;br /&amp;gt;
	&amp;lt;img id="img1" src="topcat.jpg" /&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;一樣的動作，發現了嗎??程式碼精簡到不行。真是太神奇了!!&lt;/p&gt;
&lt;p&gt;再來另外一個範例&lt;/p&gt;
&lt;p&gt;假設我的畫面中有一個&amp;lt;table&amp;gt;希望，&amp;lt;table&amp;gt;裡面的資料在顯示的時候，可以用不同底色交錯顯示，這樣方便在瀏覽的時候可以方便看。我們用固定的&amp;lt;table&amp;gt;當作示範，我們希望讓偶數行能夠加上class，這樣的要用Javascript有多麻煩各位可以想像一下。但是在jQuery來說確是很簡單的&lt;/p&gt;
&lt;p&gt;我們有Style設定&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:849e49d6-3c8f-4d25-a90c-d3e8386adf60" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="css"&gt;&amp;lt;style&amp;gt;
.TrEven1{background-color:pink;}
.TrEven2{background-color:blue;color:white;}
&amp;lt;/style&amp;gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;在畫面中有兩個Table小喵用asp的方式表式：&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:74e2bd9c-e4c0-4dd9-8781-06d51961ffc7" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="xml"&gt;table1
&amp;lt;table id="tbl1" border="1"&amp;gt;
&amp;lt;%For y = 1 to 10%&amp;gt;
	&amp;lt;tr&amp;gt;
		&amp;lt;td&amp;gt;&amp;lt;%=y%&amp;gt;&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;aa&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;bb&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;cc&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;dd&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;ee&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;ff&amp;lt;/td&amp;gt;
	&amp;lt;/tr&amp;gt;
&amp;lt;%Next%&amp;gt;
&amp;lt;/table&amp;gt;
table2
&amp;lt;table id="tbl2" border="1"&amp;gt;
&amp;lt;%For y2 = 1 to 10%&amp;gt;
	&amp;lt;tr&amp;gt;
		&amp;lt;td&amp;gt;&amp;lt;%=y2%&amp;gt;&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;aa&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;bb&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;cc&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;dd&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;ee&amp;lt;/td&amp;gt;
		&amp;lt;td&amp;gt;ff&amp;lt;/td&amp;gt;
	&amp;lt;/tr&amp;gt;
&amp;lt;%Next%&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;接著，先想像一下如果要用JavaScript要怎麼寫??然後再來看看用jQuery怎麼做&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b393fc33-53ab-45a2-b6dc-6097e5f776de" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="js"&gt;$(document).ready(function(){
	$('#tbl1 tr:even').addClass('TrEven1');
	$('#tbl2 tr:even').addClass('TrEven2');
})&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;看到了他的魔力了嗎??短短的一行【$('#tbl1 tr:even').addClass('TrEven1');】就可以處理了耶!!有沒有那種被【黯然消魂掌】擊中的感覺。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;初體驗就到此先告一段落，有機會在跟網友們分享jQuery的語法與使用方式。在此先介紹個不錯的網站，可以把他當作是jQuery使用時的一個操作說明【&lt;a title="http://jquery.org.cn/visual/cn/index.xml" href="http://jquery.org.cn/visual/cn/index.xml"&gt;http://jquery.org.cn/visual/cn/index.xml&lt;/a&gt;】&lt;/p&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/56242.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>跨網站單一登入(Single Sign On)的作法概念</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/04/03/54681.aspx</link><pubDate>Thu, 03 Apr 2008 08:13:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/04/03/54681.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/54681.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/04/03/54681.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/54681.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/54681.aspx</trackback:ping><description>&lt;p&gt;當我們開發了許多的Web應用系統後，如果使用者同時擁有多個Web應用程式的使用權限，而每個Web應用程式都有自己的登入帳號密碼，那麼對於使用者來說，有點麻煩，尤其是剛好設定的密碼又不同。&lt;/p&gt;&lt;p&gt;為了方便使用者的使用，因此會有【單一登入】的需求出現，只要登入一個應用程式後，要跳到別的Web應用程式，不需要再次輸入帳號密碼，可以直接就進行登入。但是為了考量安全性，還是要考量一下怎麼設計才能夠兼顧安全與便利。&lt;/p&gt;&lt;p&gt;小喵的方式是透過SQL來當作媒介，假設小喵要從WebA跳到WebB。 &lt;br /&gt;首先要準備一個兩個應用程式都能夠存取的資料庫。然後設計一個資料表來處理。這個資料表有以下幾個欄位&lt;/p&gt;&lt;ol&gt;&lt;li&gt;GUID:由NewId()產生出來類似【504B1790-E93A-4445-B262-E73A113BF336】這樣格式的資料&lt;/li&gt;&lt;li&gt;UserId:WebB的帳號，當然WebA與WebB可以用相通的帳號，或者是透過員工代號取得WebB的帳號&lt;/li&gt;&lt;li&gt;TimeOut:過期時間，產生該筆資料的時間+2分種。也就是從WebA到WebB的過程，小喵估計不會超過2分鐘，時間過期後該筆資料就沒用了。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;接著就是運作的方式&lt;/p&gt;&lt;p&gt;步驟如下&lt;/p&gt;&lt;ol&gt;&lt;li&gt;WebA點選轉入WebB&lt;/li&gt;&lt;li&gt;寫入1筆過程資料，例如：5ED095B8-350D-42C3-953B-9C53DED54AFD,topcat,20080402165823&lt;/li&gt;&lt;li&gt;WebA Submit GUID給 WebB&lt;/li&gt;&lt;li&gt;WebB承接到GUID取回資料，並判斷現在時間沒有大於20080402165823&lt;/li&gt;&lt;li&gt;如果4.找不到，顯示錯誤並拒絕登入&lt;/li&gt;&lt;li&gt;如果4找到，進行登入程序&lt;/li&gt;&lt;li&gt;刪除該GUID資料&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;這過程中的時間，過期時間拉得越長越不安全。太短又容易失敗，所以大家自己斟酌。&lt;/p&gt;&lt;p&gt;由於GUID發生碰撞的機會很低，並且在加上過期時間的保護，小喵覺得應該還算安全，大家覺得怎麼樣再請大家給小喵一些建議&lt;/p&gt;&lt;p&gt;^_^&lt;/p&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/54681.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>如何讓IE7中關閉瀏覽器不出現詢問</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/03/31/54638.aspx</link><pubDate>Mon, 31 Mar 2008 13:12:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/03/31/54638.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/54638.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/03/31/54638.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/54638.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/54638.aspx</trackback:ping><description>&lt;p&gt;在IE7以前，要關閉瀏覽器不出現詢問的對話，用的是以下&lt;/p&gt;

&lt;pre class="csharpcode"&gt;window.opener=&lt;span class="kwrd"&gt;null&lt;/span&gt;;
window.close();&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;但是這個在IE7卻無效了，要改成用以下的方式&lt;/p&gt;

&lt;pre class="csharpcode"&gt;window.open(&lt;span class="str"&gt;''&lt;/span&gt;,&lt;span class="str"&gt;'_self'&lt;/span&gt;,&lt;span class="str"&gt;''&lt;/span&gt;);
window.close();&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;



&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/54638.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>解決ASP使用者無法安裝ActiveX元件問題(Object Tag的CodeBase屬性)</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/03/10/54469.aspx</link><pubDate>Mon, 10 Mar 2008 13:59:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/03/10/54469.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/54469.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/03/10/54469.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/54469.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/54469.aspx</trackback:ping><description>&lt;p&gt;小喵之前遇到一個問題，使用者一直無法安裝小喵ASP中有用到ActiveX元件。&lt;/p&gt;&lt;p&gt;這個問題的有兩個方向要處理&lt;/p&gt;&lt;p&gt;1.將網站設為信任網站：&lt;/p&gt;&lt;p&gt;請使用者將小喵的網站設定為信任的網站，這樣可以排除掉因為IE的安全性設定導致的問題&lt;/p&gt;&lt;p&gt;2.把需要下載的CAB檔案放在Server上，並且在&amp;lt;Object&amp;gt;裡面設定CodeBase屬性&lt;/p&gt;&lt;p&gt;例如：小喵用了MSChart來顯示圖表，那麼就在畫面注&amp;lt;Object&amp;gt;裡面設定CodeBase如下：&lt;/p&gt;&lt;pre class="csharpcode" style="overflow: scroll; width: 600px; height: 100px"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;OBJECT&lt;/span&gt; &lt;span class="attr"&gt;classid&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;clsid:3A2B370C-BA0A-11D1-B137-0000F8753F5D&amp;quot;&lt;/span&gt;   &lt;span class="attr"&gt;codeBase&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;MSChrt20.cab#Version=6,0,81,77&amp;quot;&lt;/span&gt;     
  &lt;span class="attr"&gt;height&lt;/span&gt;=&lt;span class="attr"&gt;371&lt;/span&gt;   &lt;span class="attr"&gt;id&lt;/span&gt;=&lt;span class="attr"&gt;Chart&lt;/span&gt;   &lt;span class="attr"&gt;name&lt;/span&gt;=&lt;span class="attr"&gt;Chart&lt;/span&gt;   &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;HEIGHT:   371px;   LEFT:   0px;   TOP:   0px;   WIDTH:   100%&amp;quot;&lt;/span&gt;     
  &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;100%&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;OBJECT&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   &lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;style type="text/css"&gt;&lt;![CDATA[


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;&lt;/p&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/54469.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>註冊ICSharpCode.SharpZipLib.dll到作業系統中讓ASP可以透過COM+可呼叫</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/02/26/54401.aspx</link><pubDate>Tue, 26 Feb 2008 11:25:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/02/26/54401.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/54401.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/02/26/54401.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/54401.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/54401.aspx</trackback:ping><description>&lt;P&gt;在之前的一篇&lt;A href="http://blog.blueshop.com.tw/topcat/archive/2008/02/04/54267.aspx" target=_blank&gt;使用自訂的類別透過SharpZip執行Zip壓縮、解壓縮(VB.NET)&lt;/A&gt; 小喵用一個類別把SharpZip做了一個包裝，讓使用上能夠更直觀。小喵心想如果能夠再把他寫成COM+元件的話，那麼就能夠讓ASP或者VB呼叫使用，可用範圍更擴大。&lt;/P&gt;
&lt;P&gt;轉成COM+的元件需要一些額外的設定，這與一般COM+元件的寫法是一樣的，有需要的請參考這篇：&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blog.blueshop.com.tw/topcat/archive/2006/08/09/35629.aspx" target=_blank&gt;N-Tiers開發方式(如何使用VB.NET撰寫COM+元件)&lt;/A&gt; &lt;BR&gt;&lt;A href="http://blog.blueshop.com.tw/topcat/archive/2006/08/09/35630.aspx" target=_blank&gt;N-Tiers開發方式(COM+元件的註冊、修改)&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;但是小喵遇到一個狀況，當小喵寫好的元件註冊後，要呼叫使用的時候卻出現以下的錯誤訊息&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;無法載入檔案或組件 'ICSharpCode.SharpZipLib, Version=0.85.4.369, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' 或其相依性的其中之一。 系統找不到指定的檔案。&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;原因在於ICSharpCode.SharpZipLib.dll沒有註冊到系統中，因此當小喵寫的COM+要呼叫該dll的時候，就找不到了。&lt;/P&gt;
&lt;P&gt;因此必須在OS中把這個dll註冊。由於該dll並非COM+的dll，所以要用以下的方式來註冊&lt;/P&gt;
&lt;P&gt;首先開啟Visual Studio 2005的命令提示字元(VS2005的命令視窗，需安裝SDK才有)，接著將ICSharpCode.SharpZipLib.dll複製到某個存放dll的資料夾，然後輸入以下的兩個指令：&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;RegAsm /tlb ICSharpCode.SharpZipLib.dll&lt;BR&gt;GACUTIL /i ICSharpCode.SharpZipLib.dll&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;這樣會將該dll產生tlb並且註冊到GAC中。COM+就能夠正確的呼叫該dll並執行壓縮/解壓縮了。&lt;/P&gt;
&lt;P&gt;小喵之後測試，在ASP中可以透過該COM+正確的壓縮/解壓縮檔案。這樣可以透過COM+讓ASP/ASP.NET/VB/VB.NET這些所開發的系統都能有壓縮/解壓縮的能力了。&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/54401.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>解決ASP呼叫VB.NET撰寫的COM+元件沒有停止的問題</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/01/22/54119.aspx</link><pubDate>Tue, 22 Jan 2008 14:18:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/01/22/54119.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/54119.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/01/22/54119.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/54119.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/54119.aspx</trackback:ping><description>&lt;P&gt;在新舊系統交替的尷尬期，本來的系統是&lt;BR&gt;ASP-----COM+(VB6)-------DB&lt;BR&gt;會變成&lt;BR&gt;ASP/ASP.NET-----COM+(VB6/VB.NET)-----DB&lt;BR&gt;這樣新舊混用的階段(系統龐大，不太可能全部改寫成.NET再上線)&lt;/P&gt;
&lt;P&gt;在這樣的尷尬期裡，上次小喵提到在ASP.NET呼叫VB6/VB.NET所撰寫的元件，他的使用釋放方式是不同的。這次來聊聊用ASP呼叫新的VB.NET撰寫的元件的問題&lt;/P&gt;
&lt;P&gt;其實啟動新舊元件的寫法是一模一樣的，最大的問題在於，ASP呼叫VB6的元件，當元件執行完後，會自動的釋放掉，但是用ASP呼叫VB.NET開發的元件，卻會讓元件在執行完成時，沒有完全的回收釋放。如果元件是讀取資料那還沒關係，慘的是如果呼叫的元件是維護資料，由於元件並沒有運轉完成並回收。因此整個維護時的Transaction並沒有釋放掉。這會造成其他的程式讀取資料時，因為還被Lock而一直等待著。&lt;/P&gt;
&lt;P&gt;因此如果VB.NET所撰寫的元件必須要讓ASP或者VB6的元件呼叫的時候，就必須捨棄AutoComplete，並額外加入手動的SetComplete與SetAbort的動作，並停用AutoComplete。相關的程式碼請參考以下&lt;/P&gt;
&lt;P&gt;&lt;TEXTAREA class=vb style="WIDTH: 682px; HEIGHT: 100px" name=code rows=6 cols=80&gt; Public Function ChgData(Byval Fld1 as String,Byval Key1 as String) As String
    Dim ConnStr as String = "連接字串"
    Using Conn as New SqlConnection(ConnStr)
        Try
   
            Dim SqlTxt as String = "Update Table1 Set Fld1=@Fld1 Where Key1=@Key1 "
            Dim Cmmd as New SqlCommand(SqlTxt,Conn)
            Cmmd.Parameters.AddWithValue("@Fld1",Fld1)
            Cmmd.Parameters.AddWithValue("@Key1",Key1)
            Cmmd.ExecuteNonQuery()

            Return "Success"
            ContextUtil.SetComplete()  '增加這個手動的SetComplete

       Catch ex as Exception
            Return "False"
            ConTextUtil.SetAbort()    '增加這個手動的SetAbort
            Throw New Exception(ex.Message)

       End Try
    End Using
End Function&lt;/TEXTAREA&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/54119.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>RecordSet轉DataSet</title><link>http://blog.blueshop.com.tw/topcat/archive/2007/08/24/52132.aspx</link><pubDate>Fri, 24 Aug 2007 09:55:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2007/08/24/52132.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/52132.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2007/08/24/52132.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/52132.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/52132.aspx</trackback:ping><description>&lt;P&gt;上一篇&lt;A href="http://blog.blueshop.com.tw/topcat/archive/2007/08/24/52128.aspx" target=_blank&gt;從DataSet轉Recordset&lt;/A&gt;後，接著就是另一個方向，從RecordSet轉DataSet&lt;/P&gt;
&lt;P&gt;這個部份就沒有像上一篇那樣辛苦，可以直接透過DataAdapter的Fill來處理&lt;/P&gt;
&lt;P&gt;程式需要Imports三個NameSpace&lt;BR&gt;Imports ADODB&lt;BR&gt;Imports System.Data&lt;BR&gt;Imports System.Data.OleDb&lt;/P&gt;
&lt;P&gt;相關的程式如下&lt;/P&gt;
&lt;P&gt;&lt;TEXTAREA class=vb style="WIDTH: 664px; HEIGHT: 100px" name=code rows=6 cols=78&gt;    Private Function Rs2Ds(ByVal Rs As Recordset) As DataSet
        Dim Da As New OleDbDataAdapter
        Da.Fill(Ds, Rs, "Table1")
        Return Ds
    End Function
&lt;/TEXTAREA&gt;&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/52132.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>DataSet轉RecordSet的Function</title><link>http://blog.blueshop.com.tw/topcat/archive/2007/08/24/52128.aspx</link><pubDate>Fri, 24 Aug 2007 08:41:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2007/08/24/52128.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/52128.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2007/08/24/52128.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/52128.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/52128.aspx</trackback:ping><description>&lt;P&gt;小喵目前正值.NET與ASP的混用期&lt;/P&gt;
&lt;P&gt;因此目前撰寫的元件，可能會被以前的ASP程式呼叫到，於是這衍生了一個問題&lt;BR&gt;以前的ASP看不懂DataSet，以前的VB6元件也看不懂DataSet&lt;/P&gt;
&lt;P&gt;因此小喵寫了個小小的Function來轉換，相關程式碼如下&lt;/P&gt;
&lt;P&gt;&lt;TEXTAREA class=vb style="WIDTH: 698px; HEIGHT: 100px" name=code rows=6 cols=82&gt;    Public Function ChgDs2Rs(ByVal Ds As DataSet) As Object
        '*************************************************************************
        '**     撰寫者：                撰寫日期：2007/6/4
        '**     用途：  1.DataSet 轉 RecordSet
        '**     做法：
        '**             1.
        '**     注意事項：
        '**             1.
        '**             2.
        '**     維護記錄：
        '**         維護者：姓名(員工代號)     維護日期：日期
        '**         維護項目：
        '**                 1.
        '**                 2.
        '**         做法：  1.
        '**                 2.
        '**         注意事項：
        '**                 1.
        '*************************************************************************
        Try
            Dim rs As Object = CreateObject("ADODB.Recordset")

            If Ds.Tables(0).Rows.Count &amp;gt; 0 Then
                Dim x, y As Integer
                Dim ColName As String = ""

                For x = 0 To Ds.Tables(0).Columns.Count - 1
                    ColName = Ds.Tables(0).Columns(x).ColumnName
                    rs.Fields.Append(ColName, 200, 255)
                Next
                rs.Open()

                For y = 0 To Ds.Tables(0).Rows.Count - 1
                    rs.AddNew()
                    For x = 0 To Ds.Tables(0).Columns.Count - 1
                        If IsDBNull(Ds.Tables(0).Rows(y).Item(x)) Then
                            rs.Fields(x).Value = ""
                        Else
                            rs.Fields(x).Value = Ds.Tables(0).Rows(y).Item(x)
                        End If
                    Next
                Next
            End If

            Return rs

        Catch ex As Exception
            Throw New Exception(ex.Message.ToString)

        Finally
            'Ds.Dispose()

        End Try
    End Function
&lt;/TEXTAREA&gt;&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/52128.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>