??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV永久纯肉无码精品动漫 ,亚洲欧洲精品成人久久奇米网,亚洲av丰满熟妇在线播放http://m.tkk7.com/yank/archive/2008/03/26/188777.html停留的风停留的风Wed, 26 Mar 2008 08:17:00 GMThttp://m.tkk7.com/yank/archive/2008/03/26/188777.htmlhttp://m.tkk7.com/yank/comments/188777.htmlhttp://m.tkk7.com/yank/archive/2008/03/26/188777.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/188777.htmlhttp://m.tkk7.com/yank/services/trackbacks/188777.html新的博客地址cnblogs,希望大家能够l箋支持Q?/a>  阅读全文

停留的风 2008-03-26 16:17 发表评论
]]>
析.Net下的多线E编E?/title><link>http://m.tkk7.com/yank/archive/2007/09/27/148886.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Thu, 27 Sep 2007 13:10:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/09/27/148886.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/148886.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/09/27/148886.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/148886.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/148886.html</trackback:ping><description><![CDATA[     摘要: 多线E是许多操作pȝ所h的特性,它能大大提高E序的运行效率,所以多U程~程技术ؓ~程者广泛关注。目前微软的.Net战略正进一步推q,各种相关的技术正为广大编E者所接受Q同样在.Net中多U程~程技术具有相当重要的C。本文我向大家介绍?Net下进行多U程~程的基本方法和步骤?nbsp; <a href='http://m.tkk7.com/yank/archive/2007/09/27/148886.html'>阅读全文</a><img src ="http://m.tkk7.com/yank/aggbug/148886.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-09-27 21:10 <a href="http://m.tkk7.com/yank/archive/2007/09/27/148886.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>析.Net下的多线E编E?/title><link>http://m.tkk7.com/yank/archive/2007/09/27/148884.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Thu, 27 Sep 2007 13:09:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/09/27/148884.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/148884.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/09/27/148884.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/148884.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/148884.html</trackback:ping><description><![CDATA[多线E是许多操作pȝ所h的特性,它能大大提高E序的运行效率,所以多U程~程技术ؓ~程者广泛关注。目前微软的.Net战略正进一步推q,各种相关的技术正为广大编E者所接受Q同样在.Net中多U程~程技术具有相当重要的C。本文我向大家介绍?Net下进行多U程~程的基本方法和步骤?nbsp; <br /> <br />   开始新U程  <br />     <br />   ?Net下创Z个新U程是非常容易的Q你可以通过以下的语句来开始一个新的线E:  <br />       <br />   Thread thread = new Thread (new ThreadStart (ThreadFunc));   <br />   thread.Start ();  <br />        <br />   W一条语句创Z个新的Thread对象Qƈ指明了一个该U程的方法。当新的U程开始时Q该Ҏ也就被调用执行了。该U程对象通过一个System..Threading.ThreadStartcȝ一个实例以cd安全的方法来调用它要调用的线E方法?nbsp; <br />        <br />   W二条语句正式开始该新线E,一旦方法StartQ)被调用,该线E就保持在一?alive"的状态下了,你可以通过d它的IsAlive属性来判断它是否处?alive"状态。下面的语句昄了如果一个线E处?alive"状态下将该线E挂LҎQ?nbsp; <br />        <br />   if (thread.IsAlive) {     <br />   thread.Suspend ();    <br />   }  <br /> <br />   不过h意,U程对象的StartQ)Ҏ只是启动了该U程Q而ƈ不保证其U程ҎThreadFuncQ)能立卛_到执行。它只是保证该线E对象能被分配到CPU旉Q而实际的执行q要由操作系l根据处理器旉来决定?nbsp; <br />     <br />   一个线E的Ҏ不包含Q何参敎ͼ同时也不q回M倹{它的命名规则和一般函数的命名规则相同。它既可以是静态的QstaticQ也可以是非静态的QnonstaticQ。当它执行完毕后Q相应的U程也就l束了,其线E对象的IsAlive属性也p|ؓfalse了。下面是一个线E方法的实例Q?nbsp; <br /> <br />   public static void ThreadFunc()  <br />     <br />   {  <br />     <br />   for (int i = 0; i <10; i++) {  <br />     <br />   Console.WriteLine("ThreadFunc {0}", i);  <br />     <br />   }  <br />     <br />   }  <br />     <br />   前台U程和后台线E?nbsp; <br /> <br />   .Net的公用语aq行ӞCommon Language RuntimeQCLRQ能区分两种不同cd的线E:前台U程和后台线E。这两者的区别是Q应用程序必运行完所有的前台U程才可以退出;而对于后台线E,应用E序则可以不考虑其是否已l运行完毕而直接退出,所有的后台U程在应用程序退出时都会自动l束?nbsp; <br /> <br />   一个线E是前台U程q是后台U程可由它的IsBackground属性来军_。这个属性是可读又可写的。它的默认gؓfalseQ即意味着一个线E默认ؓ前台U程。我们可以将它的IsBackground属性设|ؓtrueQ从而之成Z个后台线E?nbsp; <br /> <br />   下面的例子是一个控制台E序Q程序一开始便启动?0个线E,每个U程q行5U钟旉。由于线E的IsBackground属性默认ؓfalseQ即它们都是前台U程Q所以尽程序的ȝE很快就q行l束了,但程序要到所有已启动的线E都q行完毕才会l束。示例代码如下:  <br /> <br />   using System;  <br />     <br />   using System.Threading;  <br />     <br />   class MyApp  <br />     <br />   {  <br />     <br />   public static void Main ()  <br />     <br />   {  <br />     <br />   for (int i=0; i<10; i++) {  <br />     <br />   Thread thread = new Thread (new ThreadStart (ThreadFunc));  <br />     <br />   thread.Start ();  <br />     <br />   }  <br />     <br />   }  <br />     <br />   private static void ThreadFunc ()  <br />     <br />   {  <br />     <br />   DateTime start = DateTime.Now;  <br />     <br />   while ((DateTime.Now - start).Seconds <5)  <br />     <br />   ;  <br />     <br />   }  <br />     <br />   }  <br />    <br /> <br /> 接下来我们对上面的代码进行略微修改,每个线E的IsBackground属性都讄为trueQ则每个U程都是后台U程了。那么只要程序的ȝE结束了Q整个程序也q束了。示例代码如下:  <br />   using System;  <br />     <br />   using System.Threading;  <br />     <br />   class MyApp  <br />     <br />   {  <br />     <br />   public static void Main ()  <br />     <br />   {  <br />     <br />   for (int i=0; i<10; i++) {  <br />     <br />   Thread thread = new Thread (new ThreadStart (ThreadFunc));  <br />     <br />   thread.IsBackground = true;  <br />     <br />   thread.Start ();  <br />     <br />   }  <br />     <br />   }  <br />     <br />   private static void ThreadFunc ()  <br />     <br />   {  <br />     <br />   DateTime start = DateTime.Now;  <br />     <br />   while ((DateTime.Now - start).Seconds <5)  <br />     <br />   ;  <br />     <br />   }   <br />   }  <br /> <br />   既然前台U程和后台线E有q种差别Q那么我们怎么知道该如何设|一个线E的IsBackground属性呢Q下面是一些基本的原则Q对于一些在后台q行的线E,当程序结束时q些U程没有必要l箋q行了,那么q些U程应该设|ؓ后台U程。比如一个程序启动了一个进行大量运的U程Q可是只要程序一旦结束,那个U程失Ml箋存在的意义,那么那个U程p是作为后台线E的。而对于一些服务于用户界面的线E往往是要讄为前台线E的Q因为即使程序的ȝE结束了Q其他的用户界面的线E很可能要l存在来昄相关的信息,所以不能立即终止它们。这里我只是l出了一些原则,具体到实际的q用往往需要编E者的q一步仔l斟酌?nbsp; <br /> <br />   U程优先U?nbsp; <br /> <br />   一旦一个线E开始运行,U程调度E序可以控制其所获得的CPU旉。如果一个托的应用E序q行在Windows机器上,则线E调度程序是由Windows所提供的。在其他的^CQ线E调度程序可能是操作pȝ的一部分Q也自然可能?Net框架的一部分。不q我们这里不必考虑U程的调度程序是如何产生的,我们只要知道通过讄U程的优先我们可以该线E获得不同的CPU旉?nbsp; <br /> <br />   U程的优先是由Thread.Priority属性控制的Q其值包含:ThreadPriority.Highest、ThreadPriority.AboveNormal、ThreadPriority.Normal、ThreadPriority.BelowNormal和ThreadPriority.Lowest。从它们的名UC我们自然可以知道它们的优先程度,所以这里就不多作介l了?nbsp; <br />     <br />   U程的默认优先为ThreadPriority.Normal。理ZQ具有相同优先的线E会获得相同的CPU旉Q不q在实际执行Ӟ消息队列中的U程d或是操作pȝ的优先的提高等原因会导致具有相同优先的线E会获得不同的CPU旉。不q从M上来考虑仍可以忽略这U差异。你可以通过以下的方法来改变一个线E的优先U?nbsp; <br /> <br />   thread.Priority = ThreadPriority.AboveNormal;  <br /> <br />   或是Q?nbsp; <br /> <br />   thread.Priority = ThreadPriority.BelowNormal;  <br /> <br />   通过上面的第一句语句你可以提高一个线E的优先U,那么该线E就会相应的获得更多的CPU旉Q通过W二句语句你侉K低了那个U程的优先Q于是它׃被分配到比原来少的CPU旉了。你可以在一个线E开始运行前或是在它的运行过E中的Q何时候改变它的优先。理Z你还可以L的设|每个线E的优先U,不过一个优先q高的线E往往会媄响到其他U程的运行,甚至影响到其他程序的q行Q所以最好不要随意的讄U程的优先?nbsp;  <br />     <br />   挂vU程和重新开始线E?nbsp; <br /> <br />   Threadcd别提供了两个Ҏ来挂LE和重新开始线E,也就是Thread.Suspend能暂停一个正在运行的U程Q而Thread.Resume又能让那个线El运行。不像Windows内核Q?Net框架是不记录U程的挂h数的Q所以不你挂vU程q几ơ,只要一ơ调用Thread.Resume可以让挂v的线E重新开始运行?nbsp; <br /> <br />   Threadc还提供了一个静态的Thread.SleepҎQ它能一个线E自动的挂v一定的旉Q然后自动的重新开始。一个线E能在它自n内部调用Thread.SleepҎQ也能在自n内部调用Thread.SuspendҎQ可是一定要别的U程来调用它的Thread.ResumeҎ才可以重新开始。这一Ҏ不是很容易想通的啊?下面的例子显CZ如何q用Thread.SleepҎQ?nbsp; <br /> <br />   while (ContinueDrawing) {    <br />   DrawNextSlide ();   <br />   Thread.Sleep (5000);   <br />   }  <br /> <br />   l止U程  <br />    在托的代码中,你可以通过以下的语句在一个线E中另一个线E终止掉Q?nbsp; <br />   thread.Abort ();  <br />   下面我们来解释一下AbortQ)Ҏ是如何工作的。因为公用语aq行时管理了所有的托管的线E,同样它能在每个线E内抛出异常。AbortQ)Ҏ能在目标U程中抛Z个ThreadAbortException异常从而导致目标线E的l止。不qAbortQ)Ҏ被调用后Q目标线E可能ƈ不是马上q止了。因为只要目标线E正在调用非托管的代码而且q没有返回的话,该线E就不会立即l止。而如果目标线E在调用非托的代码而且陷入了一个死循环的话Q该目标U程根本不会终止。不q这U情况只是一些特例,更多的情冉|目标U程在调用托的代码Q一旦AbortQ)被调用那么该U程q即终止了?nbsp; <br /> <br />   在实际应用中Q一个线E终止了另一个线E,不过往往要等那个U程完全l止了它才可以l运行,q样的话我们应该用到它的JoinQ)Ҏ。示例代码如下:  <br /> <br />   thread.Abort (); // 要求l止另一个线E?nbsp;   <br />   thread.Join (); // 只到另一个线E完全终止了Q它才l运?nbsp; <br /> <br />   但是如果另一个线E一直不能终止的话(原因如前所qͼQ我们就需要给JoinQ)Ҏ讄一个时间限ӞҎ如下Q?nbsp; <br /> <br />   thread.Join (5000); // 暂停5U?nbsp; <br />    <br />   q样Q在5U后Q不那个线E有没有完全l止Q本U程强行运行了。该Ҏq返回一个布型的|如果是true则表明那个线E已l完全终止了Q而如果是false的话Q则表明已经过了时间限制了?nbsp; <br />     <br />   旉U程  <br />    <br />   .Net框架中的Timercd以让你用时钟线E,它是包含在System.Threading名字I间中的Q它的作用就是在一定的旉间隔后调用一个线E的Ҏ。下面我l大家展CZ个具体的实例Q该实例?Uؓ旉间隔Q在控制C输出不同的字W串Q代码如下:  <br />    <br />   using System;   <br />   using System.Threading;   <br />   class MyApp   <br />   {  <br />   private static bool TickNext = true;   <br />   public static void Main ()   <br />   {   <br />   Console.WriteLine ("Press Enter to terminate...");   <br />   TimerCallback callback = new TimerCallback (TickTock);   <br />   Timer timer = new Timer (callback, null, 1000, 1000);    <br />   Console.ReadLine ();    <br />   }    <br />   private static void TickTock (object state)     <br />   {    <br />   Console.WriteLine (TickNext ? "Tick" : "Tock");    <br />   TickNext = ! TickNext;     <br />   }     <br />   }   <br />   从上面的代码中,我们知道W一个函数回调是?000毫秒后才发生的,以后的函数回调也是在每隔1000毫秒之后发生的,q是由Timer对象的构造函C的第三个参数所军_的。程序会?000毫秒的时间间隔后不断的生新U程Q只到用戯入回车才l束q行。不q值得注意的是Q虽然我们设|了旉间隔?000毫秒Q但是实际运行的时候往往q不能非常精。因为Windows操作pȝq不是一个实时系l,而公用语aq行时也不是实时的,所以由于线E调度的千变万化Q实际的q行效果往往是不能精到毫秒U的Q但是对于一般的应用来说那已l是_的了Q所以你也不必十分苛求?nbsp; <br /> <br />   结   <br />   本文介绍了在.Net下进行多U程~程所需要掌握的一些基本知识。从文章中我们可以知道在.Net下进行多U程~程相对以前是有了大大的化,但是其功能ƈ没有被削弱。用以上的一些基本知识,读者就可以试着~写.Net下的多线E程序了。不q要~写出功能更加强大而且Bug的多线E应用程序,读者需要掌握诸如线E同步、线E池{高U的多线E编E技术。读者不妨参考一些操作系l方面或是多U程~程斚w的技术丛书? <img src ="http://m.tkk7.com/yank/aggbug/148884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-09-27 21:09 <a href="http://m.tkk7.com/yank/archive/2007/09/27/148884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DataTablehttp://m.tkk7.com/yank/archive/2007/07/28/133050.html停留的风停留的风Sat, 28 Jul 2007 13:43:00 GMThttp://m.tkk7.com/yank/archive/2007/07/28/133050.htmlhttp://m.tkk7.com/yank/comments/133050.htmlhttp://m.tkk7.com/yank/archive/2007/07/28/133050.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/133050.htmlhttp://m.tkk7.com/yank/services/trackbacks/133050.html阅读全文

停留的风 2007-07-28 21:43 发表评论
]]>
获取面的所有TextBox的?/title><link>http://m.tkk7.com/yank/archive/2007/07/25/132411.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Wed, 25 Jul 2007 15:37:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/07/25/132411.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/132411.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/07/25/132411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/132411.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/132411.html</trackback:ping><description><![CDATA[     摘要: 页面上的所有的TextBox控g的值都|ؓI?nbsp; <a href='http://m.tkk7.com/yank/archive/2007/07/25/132411.html'>阅读全文</a><img src ="http://m.tkk7.com/yank/aggbug/132411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-07-25 23:37 <a href="http://m.tkk7.com/yank/archive/2007/07/25/132411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sql语句的模p查?/title><link>http://m.tkk7.com/yank/archive/2007/07/22/131701.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Sun, 22 Jul 2007 02:16:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/07/22/131701.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/131701.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/07/22/131701.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/131701.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/131701.html</trackback:ping><description><![CDATA[SELECT * FROM user WHERE name LIKE ';%?';<br>会把name?#8220;张三”Q?#8220;三脚?#8221;Q?#8220;唐三?#8221;{等?#8220;?#8221;的全扑և来;<br><br><br>其中LIKE ';%?'明显多了个分?#8220;;”Q这q能搜烦得出来么Q估计是~辑器编译的~故?br><br>======重新~辑文如下:<br><br>在进行数据库查询Ӟ有完整查询和模糊查询之分?br><br>一般模p语句如下:<br><br> <table cellSpacing=1 width="100%" bgColor=#cccccc border=0> <tbody> <tr> <td bgColor=#efefef>SELECT 字段 FROM ?WHERE 某字D?Like 条g<br></td> </tr> </tbody> </table> <br><br>其中关于条gQSQL提供了四U匹配模式:<br><br><strong>1Q?</strong>Q表CZQ?个或多个字符。可匚wLcd和长度的字符Q?font color=#666>有些情况下若是中文,请用两个百分号Q?%Q表C?/font>?br><br>比如 SELECT * FROM [user] WHERE u_name LIKE '%?'<br><br>会把u_name?#8220;张三”Q?#8220;张猫?#8221;?#8220;三脚?#8221;Q?#8220;唐三?#8221;{等?#8220;?#8221;的记录全扑և来?br><br>另外Q如果需要找出u_name中既?#8220;?#8221;又有“?#8221;的记录,请用and条g<br>SELECT * FROM [user] WHERE u_name LIKE '%?' AND u_name LIKE '%?'<br><br>若?<font color=#666>SELECT * FROM [user] WHERE u_name LIKE '%??'</font> <br>虽然能搜索出“三脚?#8221;Q但不能搜烦出符合条件的“张猫?#8221;?br><br><strong>2Q_</strong>Q?表示L单个字符。匹配单个Q意字W,它常用来限制表达式的字符长度语句Q?br><br>比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'<br>只找?#8220;唐三?#8221;q样u_nameZ个字且中间一个字?#8220;?#8221;的;<br><br>再比?SELECT * FROM [user] WHERE u_name LIKE '三__';<br>只找?#8220;三脚?#8221;q样nameZ个字且第一个字?#8220;?#8221;的;<br><br><br><strong>3Q[ ]</strong>Q表C括号内所列字W中的一个(cM正则表达式)。指定一个字W、字W串或范_要求所匚w对象为它们中的Q一个?br><br>比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]?<br>找?#8220;张三”?#8220;李三”?#8220;王三”Q而不?#8220;张李王三”Q;<br><br>?[ ] 内有一pd字符Q?1234、abcde之类的)则可略写?#8220;0-4”?#8220;a-e”<br>SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'<br>找?#8220;?”?#8220;?”?#8230;…?#8220;?”Q?br><br><strong>4Q[^ ] </strong>Q表CZ在括h列之内的单个字符。其取值和 [] 相同Q但它要求所匚w对象为指定字W以外的M个字W?br><br>比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]?<br>找Z?#8220;?#8221;?#8220;?#8221;?#8220;?#8221;?#8220;赵三”?#8220;孙三”{;<br><br>SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';<br>排?#8220;?”?#8220;?”Q寻?#8220;?”?#8220;?”?#8230;…<br><br><strong>5Q查询内容包含通配W时</strong><br><br>׃通配W的~故Q导致我们查询特D字W?#8220;%”?#8220;_”?#8220;[”的语句无法正常实玎ͼ而把Ҏ字符?#8220;[ ]”括v便可正常查询。据此我们写Z下函敎ͼ<br><br> <table cellSpacing=1 width="100%" bgColor=#cccccc border=0> <tbody> <tr> <td bgColor=#efefef><br>function sqlencode(str)<br>str=replace(str,"[","[[]") '此句一定要在最?br>str=replace(str,"_","[_]")<br>str=replace(str,"%","[%]")<br>sqlencode=str<br>end function<br><br></td> </tr> </tbody> </table> <br>在查询前待查字W串先经该函数处理即可? <img src ="http://m.tkk7.com/yank/aggbug/131701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-07-22 10:16 <a href="http://m.tkk7.com/yank/archive/2007/07/22/131701.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Datalist自定义分cA?/title><link>http://m.tkk7.com/yank/archive/2007/07/21/131646.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Sat, 21 Jul 2007 09:31:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/07/21/131646.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/131646.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/07/21/131646.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/131646.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/131646.html</trackback:ping><description><![CDATA[     摘要: Datalist的上下页Q首,NQ总页码,查询的ȝ果数 <br>q种Ҏ有个~点Q就是利用虚拟的url,在url中有늠的调?nbsp; <a href='http://m.tkk7.com/yank/archive/2007/07/21/131646.html'>阅读全文</a><img src ="http://m.tkk7.com/yank/aggbug/131646.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-07-21 17:31 <a href="http://m.tkk7.com/yank/archive/2007/07/21/131646.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GridView 常用Ҏ合集 http://m.tkk7.com/yank/archive/2007/07/21/131642.html停留的风停留的风Sat, 21 Jul 2007 09:04:00 GMThttp://m.tkk7.com/yank/archive/2007/07/21/131642.htmlhttp://m.tkk7.com/yank/comments/131642.htmlhttp://m.tkk7.com/yank/archive/2007/07/21/131642.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/131642.htmlhttp://m.tkk7.com/yank/services/trackbacks/131642.html2、选择一行,获取关键字,然后传到其他面
3、获取编辑行的关键字
4、删除一行,获取关键字。这个地方还是用rowdeleting 事g?
5、删除前提示关键字,不仅仅是提示“确认删除吗Q?而是提示“确认删除关键字?**的数据吗Q?
6、显C页?
昄늠要在aspx代码里填入几行数据,上面的代码已l有?重新写一下:

  阅读全文

停留的风 2007-07-21 17:04 发表评论
]]>
ASP 2.0 数据l定函数Eval()的机?http://m.tkk7.com/yank/archive/2007/07/20/131529.html停留的风停留的风Fri, 20 Jul 2007 09:21:00 GMThttp://m.tkk7.com/yank/archive/2007/07/20/131529.htmlhttp://m.tkk7.com/yank/comments/131529.htmlhttp://m.tkk7.com/yank/archive/2007/07/20/131529.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/131529.htmlhttp://m.tkk7.com/yank/services/trackbacks/131529.html <%# (Container.DataItem as DataRowView)["ProductName"].ToString() %>      

 ASP 1.1化ؓQ?L了类型指? Eval通过反射实现Q本文不再阐q?
 <%# DataBinder.Eval(Container.DataItem, "ProductName").ToString() %>      

 ASP 2.0又简化ؓQ去掉了Container局部变量:
 <%# Eval("ProductName") %>
 
 那么QPage.Eval()又是如何知道"ProductName"是那个数据的属性呢Q即Container.DataItem真的消失了吗Q?br>
 Eval()是Page的父cTemplateControl的方?br> TemplateControl.Eval()可以自动计算出Container, 机制是从一个dataBindingContext:Stack堆栈来获取?br> 
 1. 建立DataItem Container 栈:
    在Control.DataBind()中,建立Q这样可以保证子控g的DataItem Container始终在栈?br>   
    public class Control
    {
        protected virtual void DataBind(bool raiseOnDataBinding)
        {
            bool foundDataItem = false;
            if (this.IsBindingContainer)
            {
                object o = DataBinder.GetDataItem(this, out foundDataItem);
                if (foundDataItem)
                    Page.PushDataItemContext(o);        <-- DataItem压入堆栈
            }
            try
            {
                if (raiseOnDataBinding)
                    OnDataBinding(EventArgs.Empty);
                   
                DataBindChildren();                     <-- l定子控?br>            }
            finally
            {
                if (foundDataItem)
                    Page.PopDataItemContext();          <-- DataItem弹出堆栈
            }
        }
    }

  2. 获取DataItem Container
    public class Page
    {   
        public object GetDataItem()
        {
            ...
            return this._dataBindingContext.Peek();     <-- d堆栈剙的DataItem ContainerQ就是正在绑定的DataItem Container
        }
     }
    
   3. TemplateControl.Eval()
    public class TemplateControl
    {
        protected string Eval (string expression, string format)
        {
            return DataBinder.Eval (Page.GetDataItem(), expression, format);   
        }
    }        

l论Q从上面看出Page.Eval()在计的时候还是引用了Container.DataItemQ只不过q个DataItem通过DataItem Container堆栈自动计算出来的。我认ؓPage.Eval()看似把问题简化了Q其实把问题搞得更加秘?/p>

停留的风 2007-07-20 17:21 发表评论
]]>
GridView事g应用http://m.tkk7.com/yank/archive/2007/07/16/130527.html停留的风停留的风Mon, 16 Jul 2007 04:15:00 GMThttp://m.tkk7.com/yank/archive/2007/07/16/130527.htmlhttp://m.tkk7.com/yank/comments/130527.htmlhttp://m.tkk7.com/yank/archive/2007/07/16/130527.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/130527.htmlhttp://m.tkk7.com/yank/services/trackbacks/130527.htmlGridView“GridView1”Ȁ发了未处理的事g“PageIndexChanging”?
说明: 执行当前 Web h期间Q出现未处理的异常。请查堆栈跟t信息,以了解有兌错误以及代码中导致错误的出处的详l信息?

异常详细信息: System.Web.HttpException: GridView“GridView1”Ȁ发了未处理的事g“PageIndexChanging”?/p>

源错?

执行当前 Web h期间生成了未处理的异常。可以用下面的异常堆栈跟踪信息定有关异常原因和发生位|的信息?nbsp;

堆栈跟踪:
[HttpException (0x80004005): GridView“GridView1”Ȁ发了未处理的事g“PageIndexChanging”。]
   System.Web.UI.WebControls.GridView.OnPageIndexChanging(GridViewPageEventArgs e) +324
   System.Web.UI.WebControls.GridView.HandlePage(Int32 newPage) +110
   System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +516
   System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +213
   System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +244
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3837
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42

ASP.NET的CS代码:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
    string zhumin = ConfigurationSettings.AppSettings["ConnectionString"].ToString();

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {
            BindDataGrid();
            IsFirstLastPage();
           
        }

    }
    private void BindDataGrid()
    {
        SqlConnection MyConnection = new SqlConnection(zhumin);
        String cmdText = "SELECT * FROM Orders";
        SqlDataAdapter da = new SqlDataAdapter(cmdText,MyConnection);
        MyConnection.Open();
        DataSet ds = new DataSet();
        da.Fill(ds);
        GridView1.DataSource = ds;
        GridView1.DataBind();
        MyConnection.Close();
    }

 

 
    protected void GridView1_PageIndexChanged(object source,System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {

        GridView1.PageIndex = e.NewPageIndex;
        BindDataGrid();      


    }

 

    protected void PageCut_Click(object sender, EventArgs e)
    {
        String commangArg = ((LinkButton)sender).CommandArgument;

        switch (commangArg)
        {
            case "First":
                {
                    GridView1.PageIndex = 0;
                    break;
                }
            case "Prev":
                {
                    GridView1.PageIndex = (int)Math.Max(0,GridView1.PageIndex - 1);
                    break;
                }
            case "Next":
                {
                    GridView1.PageIndex = (int)Math.Min(GridView1.PageCount - 1, GridView1.PageIndex + 1);
                    break;
                }
            case "Last":
                {
                    GridView1.PageIndex = GridView1.PageCount - 1;
                    break;
                }
            default:
                {
                    break;
                }
        }
        BindDataGrid();
        IsFirstLastPage();

    }

    private void IsFirstLastPage()
    {
        if (GridView1.PageCount > 0)
        {
            if (GridView1.PageCount != 1)
            {
                if (GridView1.PageIndex == 0)
                {
                    LinkButton2.Enabled = false;
                }
                else
                {
                    LinkButton2.Enabled = true;
                }
                if (GridView1.PageIndex == GridView1.PageCount - 1)
                {
                    LinkButton3.Enabled = false;
                }
                else
                {
                    LinkButton3.Enabled = true;
                }
            }
            else
            {
               LinkButton2.Enabled = false;
                LinkButton3.Enabled = false;
            }
            }
        else
        {
            LinkButton1.Enabled = false;
            LinkButton2.Enabled = false;
            LinkButton3.Enabled = false;
            LinkButton4.Enabled = false;
        }

        }
    }

最后是我的ASPX代码:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        &nbsp;
       <center>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="Yellow"
                ForeColor="Black" Width="372px"  AllowPaging="True">
                <Columns>
                    <asp:BoundField DataField="OrderID" HeaderText="员工QD" />
                    <asp:BoundField DataField="EmployeeID" HeaderText="֮QD" />
                    <asp:BoundField DataField="ShipVia" HeaderText="QhipQD" />
                </Columns>
            </asp:GridView>
            </center>
        <br />
        <br />
        <center style="text-align: left">
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
            <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="First">首页</asp:LinkButton>
            &nbsp;&nbsp; &nbsp;&nbsp;
            <asp:LinkButton ID="LinkButton2" runat="server" CommandArgument="Prev">上一?lt;/asp:LinkButton>
            &nbsp; &nbsp;
            <asp:LinkButton ID="LinkButton3" runat="server" CommandArgument="Next">下一?lt;/asp:LinkButton>
            &nbsp;&nbsp;
            <asp:LinkButton ID="LinkButton4" runat="server" CommandArgument="Last">N</asp:LinkButton></center>
        </div>
      
    </form>
</body>
</html>



停留的风 2007-07-16 12:15 发表评论
]]>
卸蝲以前版本?Visual Studio 2005(步骤)http://m.tkk7.com/yank/archive/2007/07/15/130430.html停留的风停留的风Sun, 15 Jul 2007 13:13:00 GMThttp://m.tkk7.com/yank/archive/2007/07/15/130430.htmlhttp://m.tkk7.com/yank/comments/130430.htmlhttp://m.tkk7.com/yank/archive/2007/07/15/130430.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/130430.htmlhttp://m.tkk7.com/yank/services/trackbacks/130430.html卸蝲以前版本?Visual Studio 2005

如果已经安装了以前版本的 Visual Studio 2005Q如 Visual Studio Team Suite、Visual Studio 标准版或 Visual Studio 专业版的试?2 或社区技术预?(CTP) 版本Q则必须严格按照以下所C顺序卸载,然后才能开始安装Q何版本的 Visual Studio 2005Q?

  1. 转到“控制面板”Q启?#8220;d/删除E序”
  2. 删除“Microsoft SQL Server 2005 Express Edition”
  3. 删除“Microsoft SQL Server 2005 Tools Express Edition”
  4. 删除“Microsoft SQL Native Client”
  5. 删除“Microsoft Visual Studio 64 位系l必备测试版”Q仅?64 位计机上安?Visual Studio Ӟ才需要执行此步骤Q?
  6. 删除“Microsoft Visual Studio Tools for Office System 2005 Runtime 语言?#8221;Q如果您仅用英文版Q则不需要执行此步骤Q?
  7. 删除“Microsoft Visual Studio Tools for Office System 2005 Runtime 试?#8221;
  8. 删除“Microsoft Device Emulator 1.0 试?#8221;
  9. 删除“Microsoft .NET Compact Framework 2.0 试?#8221;
  10. 删除“Microsoft .NET Compact Framework 1.0 试?#8221;
  11. 删除“Microsoft Visual Studio 2005 专业?#8221;或其他相关的 IDE 安装Q如 Visual Studio 专业?标准?企业U结构设计版/Team Suite {?
  12. 删除“Microsoft Document Explorer 2005 语言?#8221;Q如果您仅用英文版Q则不需要执行此步骤Q?
  13. 删除“Microsoft Document Explorer 2005”Q此步骤对于试?2 之后的版本是必需的)
  14. 删除“Microsoft SQL Mobile 2005 Development Tools”
  15. 删除“Microsoft 64 ?SDK”Q只有当 Visual Studio 安装?64 位计机上时Q才需要执行此步骤Q?
  16. 删除“Microsoft Visual Studio 2005 Remote Debugger (x64)”Q仅?64 位计机上安?Visual Studio Ӟ才需要执行此步骤Q?
  17. 删除“Microsoft MDAC 2.8 SP1”Q只有当您运行的?Windows 2000 Ӟ才需要执行此步骤Q?
  18. 删除“Microsoft MSXML 6 SDK ?Parser”
  19. 删除“Microsoft Visual J# .NET Redistributable 2.0 试版语a?#8221;Q如果您仅用英文版Q则不需要执行此步骤Q?
  20. 删除“Microsoft Visual J# Redistributable Package 2.0 试?#8221;
  21. 保所?Visual Studio 2005 产品均已从系l中删除
  22. 删除“Microsoft .NET Framework 2.0 试版语a?#8221;Q如果您仅用英文版Q则不需要执行此步骤Q?
  23. 删除“Microsoft .NET Framework 2.0 试?#8221;
说明Q?/div>
  1. 如果?#8220;d/删除E序”中删?J# .NET Redistributable Package 2.0 时出现错误,请在命o行窗口中q行“msiexec /x {9046F10C-F5E7-4871-BED9-8288F19C70DF}”<
     
  2. 如果?#8220;d/删除E序”中删?.NET Framework 2.0 时出现错误,请在命o行窗口中q行“msiexec /x {71F8EFBF-09AF-418D-91F1-52707CDFA274}”

 


 

  1. 转到“控制面板”Q启?#8220;d/删除E序”
  2. 删除“Microsoft SQL Server 2005 Express Edition”
  3. 删除“Microsoft SQL Server 2005 Tools Express Edition”
  4. 删除“Microsoft SQL Native Client”
  5. 删除“Microsoft Visual Studio 64 位系l必备测试版”Q仅?64 位计机上安?Visual Studio Ӟ才需要执行此步骤Q?
  6. 删除“Microsoft Visual Studio Tools for Office System 2005 Runtime 语言?#8221;Q如果您仅用英文版Q则不需要执行此步骤Q?
  7. 删除“Microsoft Visual Studio Tools for Office System 2005 Runtime 试?#8221;
  8. 删除“Microsoft Device Emulator 1.0 试?#8221;
  9. 删除“Microsoft .NET Compact Framework 2.0 试?#8221;
  10. 删除“Microsoft .NET Compact Framework 1.0 试?#8221;
  11. 删除“Microsoft Visual Studio 2005 专业?#8221;或其他相关的 IDE 安装Q如 Visual Studio 专业?标准?企业U结构设计版/Team Suite {?
  12. 删除“Microsoft Document Explorer 2005 语言?#8221;Q如果您仅用英文版Q则不需要执行此步骤Q?
  13. 删除“Microsoft Document Explorer 2005”Q此步骤对于试?2 之后的版本是必需的)
  14. 删除“Microsoft SQL Mobile 2005 Development Tools”
  15. 删除“Microsoft 64 ?SDK”Q只有当 Visual Studio 安装?64 位计机上时Q才需要执行此步骤Q?
  16. 删除“Microsoft Visual Studio 2005 Remote Debugger (x64)”Q仅?64 位计机上安?Visual Studio Ӟ才需要执行此步骤Q?
  17. 删除“Microsoft MDAC 2.8 SP1”Q只有当您运行的?Windows 2000 Ӟ才需要执行此步骤Q?
  18. 删除“Microsoft MSXML 6 SDK ?Parser”
  19. 删除“Microsoft Visual J# .NET Redistributable 2.0 试版语a?#8221;Q如果您仅用英文版Q则不需要执行此步骤Q?
  20. 删除“Microsoft Visual J# Redistributable Package 2.0 试?#8221;
  21. 保所?Visual Studio 2005 产品均已从系l中删除
  22. 删除“Microsoft .NET Framework 2.0 试版语a?#8221;Q如果您仅用英文版Q则不需要执行此步骤Q?
  23. 删除“Microsoft .NET Framework 2.0 试?#8221;
说明Q?/div>
  1. 如果?#8220;d/删除E序”中删?J# .NET Redistributable Package 2.0 时出现错误,请在命o行窗口中q行“msiexec /x {9046F10C-F5E7-4871-BED9-8288F19C70DF}”<
     
  2. 如果?#8220;d/删除E序”中删?.NET Framework 2.0 时出现错误,请在命o行窗口中q行“msiexec /x {71F8EFBF-09AF-418D-91F1-52707CDFA274}”

 



停留的风 2007-07-15 21:13 发表评论
]]>获取GridView行的主键?/title><link>http://m.tkk7.com/yank/archive/2007/07/15/130314.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Sat, 14 Jul 2007 16:12:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/07/15/130314.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/130314.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/07/15/130314.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/130314.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/130314.html</trackback:ping><description><![CDATA[     摘要: 获取GridView行的主键?<br>string order_Id=this.GridView1.DataKeys[row.RowIndex]["orders_Id"].ToString(); <br>标注的是主键的字D?<br>  <a href='http://m.tkk7.com/yank/archive/2007/07/15/130314.html'>阅读全文</a><img src ="http://m.tkk7.com/yank/aggbug/130314.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-07-15 00:12 <a href="http://m.tkk7.com/yank/archive/2007/07/15/130314.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>判断DataSet中是否ؓI? http://m.tkk7.com/yank/archive/2007/07/15/130312.html停留的风停留的风Sat, 14 Jul 2007 16:08:00 GMThttp://m.tkk7.com/yank/archive/2007/07/15/130312.htmlhttp://m.tkk7.com/yank/comments/130312.htmlhttp://m.tkk7.com/yank/archive/2007/07/15/130312.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/130312.htmlhttp://m.tkk7.com/yank/services/trackbacks/130312.html DataSet ds = new DataSet();
sdr.Fill(ds,"users");
if (ds.Tables["users"].Rows.Count > 0)
或?
DataSet1.Tables.Rows.Count   阅读全文

停留的风 2007-07-15 00:08 发表评论
]]>
Asp.net中对话框http://m.tkk7.com/yank/archive/2007/07/14/130251.html停留的风停留的风Sat, 14 Jul 2007 04:27:00 GMThttp://m.tkk7.com/yank/archive/2007/07/14/130251.htmlhttp://m.tkk7.com/yank/comments/130251.htmlhttp://m.tkk7.com/yank/archive/2007/07/14/130251.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/130251.htmlhttp://m.tkk7.com/yank/services/trackbacks/130251.html
btnClick.Attributes.Add("onclick", "return confirm('Are you sure?');");   阅读全文

停留的风 2007-07-14 12:27 发表评论
]]>
dropdownlistl定http://m.tkk7.com/yank/archive/2007/07/14/130226.html停留的风停留的风Fri, 13 Jul 2007 18:18:00 GMThttp://m.tkk7.com/yank/archive/2007/07/14/130226.htmlhttp://m.tkk7.com/yank/comments/130226.htmlhttp://m.tkk7.com/yank/archive/2007/07/14/130226.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/130226.htmlhttp://m.tkk7.com/yank/services/trackbacks/130226.html        string ConnString = ConfigurationSettings.AppSettings["ConnectionString"];

         //创徏一?span>SqlConnection
         SqlConnection Conn = new SqlConnection( ConnString );        

         string SQL_Select = "select id, ItemName from DDLItem order by id desc";

         //构造一?span>SqlDataAdapter

         SqlDataAdapter myAdapter = new SqlDataAdapter( SQL_Select, Conn);

         //开始读取数?/span>

         Conn.Open();

         DataSet dataSet = new DataSet();

         myAdapter.Fill( dataSet,"Table1" );

         Conn.Close(); 

         //开始绑?span>DropDownList 

         //指定DropDownList使用的数据源

         DropDownList1.DataSource = dataSet.Tables["Table1"].DefaultView;

         //指定DropDownList使用的表里的那些字段

         DropDownList1.DataTextField = "ItemName"; //dropdownlist?span>Text的字D?/span>

         DropDownList1.DataValueField = "id";//dropdownlist?span>Value的字D?/span>

         DropDownList1.DataBind();

W二U方法:
        con.Open();
        SqlCommand cmd = new SqlCommand(strSql,con);
        SqlDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {      
            DropDownList1.Items.Add(new ListItem(dr["status"].ToString(), dr["status_Id"].ToString()));
        }
       

停留的风 2007-07-14 02:18 发表评论
]]>
ASP.NET2.0下含有DropDownList的GridView~辑、删?/title><link>http://m.tkk7.com/yank/archive/2007/07/13/130185.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Fri, 13 Jul 2007 14:14:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/07/13/130185.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/130185.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/07/13/130185.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/130185.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/130185.html</trackback:ping><description><![CDATA[  <p><asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" PageSize="10" <br>                        Width="542px" AllowPaging="True" AllowSorting="True"<br>                         DataKeyNames="DB31_1,DB31_2" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" OnSorting="GridView1_Sorting" ><br>                        <Columns><br>                            <asp:TemplateField HeaderText="序号"><br>                                <ItemTemplate><br>                                <%# this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%><br>                                </ItemTemplate><br>                            </asp:TemplateField><br>                            <asp:TemplateField HeaderText="学历代码" SortExpression="DB1_1"><br>                                <EditItemTemplate><br>                                    <%--<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("DB1_1") %>'></asp:TextBox>--%><br>                               <asp:DropDownList ID ="ddlXL" runat="server"  DataValueField='<%# Bind("DB1_1") %>'></asp:DropDownList><br>                                </EditItemTemplate><br>                                <ItemTemplate><br>                                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("xueliText") %>'></asp:Label><br>                                </ItemTemplate><br>                            </asp:TemplateField><br>                            <asp:TemplateField HeaderText="学历名称" SortExpression="DB1_2"><br>                                <EditItemTemplate><br>                                    <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("DB1_2") %>'></asp:TextBox><br>                                </EditItemTemplate><br>                                <ItemTemplate><br>                                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("DB1_2") %>'></asp:Label><br>                                </ItemTemplate><br>                            </asp:TemplateField><br>                          <br>                        <asp:TemplateField HeaderText="操作" ShowHeader="False"><br>                        <EditItemTemplate><br>                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"<br>                                 Text="更新"></asp:LinkButton><br>                            <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"<br>                                Text="取消"></asp:LinkButton><br>                        </EditItemTemplate><br>                        <ItemTemplate><br>                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"<br>                                Text="~辑" OnClientClick="return confirm('认要编辑吗Q?);"></asp:LinkButton><br>                        <br>                            <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Delete"<br>                                Text="删除" OnClientClick="return confirm('认要删除吗Q?);"></asp:LinkButton><br>                            <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Select"<br>                                Text="选择"></asp:LinkButton><br>                        </ItemTemplate><br>                        </asp:TemplateField><br>                       </Columns><br>                       <AlternatingRowStyle BackColor="Aquamarine" /><br>                    </asp:GridView><br>    /// <summary><br><span>    /// l定<strong class=kgb onmouseover='isShowAds = false;isShowAds2 = false;isShowGoogle = true;InTextAds_GoogleLayer="_u6570_u636E";ads.ShowGoogleAds(this,"_u6570_u636E",event)' style="FONT-WEIGHT: normal; CURSOR: hand; COLOR: #0000ff; TEXT-DECORATION: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=Boi4DhYeXRq-bNoryiATF3qSwCui7hReD9ZEGwI23AYDxBBAEGAQg_9DACSgFOABQ7-bS1QNgnbHdgdQFmAG906wQqgEKMjAwMDAwMDAyNbIBDHd3dy5zeHNreS5jbsgBAdoBLGh0dHA6Ly93d3cuc3hza3kuY24vaXQvaHRtbC8yMDA2NzIwMjY2NTcuaHRtqQL4EmCY0ATBPqgDAegDH-gDBQ&num=4&adurl=http://www.EasyRMS.com&client=ca-pub-6505899966777703")' onmouseout='isShowGoogle = false;InTextAds_GoogleLayer="_u6570_u636E"'>数据</strong>到GridView</span><br>    /// </summary><br>    private void GridViewBind()<br>    {<br>        ?a ><u><font color=#0000ff>数据?/font></u></a><br>        string strSql = "SELECT * FROM DB1";<br>        得到数据?br>        this.GridView1.DataSource=conn.GetDs(strSql).Tables[0].DefaultView;<br>        this.GridView1.DataBind();<br>   <br>    }<br>    /// <summary><br>    /// ~辑当前?br>    /// </summary><br>    /// <param name="sender"></param><br>    /// <param name="e"></param><br>    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)<br>    {<br>        GridView1.EditIndex = e.NewEditIndex;<br>        //当前~辑行背景色高亮<br>        this.GridView1.EditRowStyle.BackColor = Color.FromName("#F7CE90");<br>        GridViewBind();<br>    }<br>    /// <summary><br>    /// 取消~辑状?br>    /// </summary><br>    /// <param name="sender"></param><br>    /// <param name="e"></param><br>    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)<br>    {<br>        GridView1.EditIndex = -1;<br>        GridViewBind();<br>    }<br>    /// <summary><br>    /// 删除记录q程<br>    /// </summary><br>    /// <param name="sender"></param><br>    /// <param name="e"></param><br>    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)<br>    {<br>        //得到单位~号<br>        string rowToDelete = GridView1.DataKeys[e.RowIndex].Values[0].ToString();<br>        //转换为整?br>        //int ID=Convert.ToInt32(rowToDelete);<br><span>        //?strong class=kgb onmouseover='isShowAds = true;isShowAds2 = true;ads.Move(this,"","%u6700%u5F3A%u7684%u6570%u636E%u5E93%uFF01%u6765%u81EA%u5FAE%u8F6F","20650","数据?,"%u6570%u636E%u5E93","http%3A//go.microsoft.com/%3Flinkid%3D6331217", event)' style="FONT-WEIGHT: normal; CURSOR: hand; COLOR: #0000ff; TEXT-DECORATION: underline" onclick='javascript:window.open("http://s3.17luntan.com/ClickPortal/WebClick.aspx?id=20650&k=%u6570%u636E%u5E93&siteid=b2cbdffd-bcbf-4415-a129-3344f19a46a3&url=http%3A//www.sxsky.cn/it/html/200672026657.htm&gourl=http%3A//go.microsoft.com/%3Flinkid%3D6331217&parm=1F3B79A61F6BC47108CB35D7933E8B153E88870C86CE9FAC&alliedsiteid=0");' onmouseout="isShowAds = false;isShowAds2 = false">数据?/strong>中删?/span><br>        string str = "DELETE FROM DB1 where DB1_1=" + "'" + rowToDelete + "'" + "";<br>       <br>        try<br>        {<br>        conn.RunSql(str);<br>        //重新l定数据<br>        GridViewBind();<br>        }<br>        catch (Exception ex)<br>        {<br>        Response.Write("数据库错误,错误原因Q? + ex.Message);<br>        Response.End();<br>        }</p> <p>    }<br>    /// <summary><br>    /// 更新记录q程<br>    /// </summary><br>    /// <param name="sender"></param><br>    /// <param name="e"></param><br>    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)<br>    {<br>        string ID = GridView1.DataKeys[e.RowIndex].Values[0].ToString();<br>        string DB1_1 = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1")).Text;<br>        //string DB1_2 = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2")).Text;<br>        string DB1_2 = (((DropDownList))GridView1.Rows[e.RowIndex].FindControl("ddlXL")).SelectedItem.Text;<br>        <br>    //判断表单Ҏ否有Iƈl出提示信息<br>        if (DB1_1 == "" || DB1_2 == "")<br>        {<br>            conn.Alert("误入完整信息!", Page);<br>            return;<br>        }             <br>       try<br>       {<br>        conn.BuilderEdit("select * from DB1 where DB1_1 ='" + ID + "'");<br>        conn.dr["DB1_1"] = DB1_1;<br>        conn.dr["DB1_2"] = DB1_2;<br>        conn.BuilderEditClose();<br>       }<br>       catch (OracleException err)<br>       {<br>            if (err.Code.ToString() == "1")<br>                conn.Alert("错误Q已存在h相同主键的记?, Page);<br>            else<br>                conn.Alert("错误Q未能添加记?, Page);<br>        }</p> <p>        Response.Write("<script language='<a ><u><font color=#0000ff>javascript</font></u></a>'>alert('数据已被保存!');</script>");<br>        //q回览状?br>        GridView1.EditIndex = -1;<br>        GridViewBind();<br>    }<br>    /// <summary><br>    /// 分页事g<br>    /// </summary><br>    /// <param name="sender"></param><br>    /// <param name="e"></param><br>    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)<br>    {<br>        GridView1.PageIndex = e.NewPageIndex;<br>        GridViewBind();<br>    }<br>    /// <summary><br><span>    /// 加入<strong class=kgb onmouseover='isShowAds = false;isShowAds2 = false;isShowGoogle = true;InTextAds_GoogleLayer="_u9F20_u6807";ads.ShowGoogleAds(this,"_u9F20_u6807",event)' style="FONT-WEIGHT: normal; CURSOR: hand; COLOR: #0000ff; TEXT-DECORATION: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=B0MsPhYeXRq-bNoryiATF3qSwCpH81Se93Of0AcCNtwGw2wYQAxgDIP_QwAkoBTgAUN7N8JX______wFgnbHdgdQFmAG906wQqgEKMjAwMDAwMDAyNbIBDHd3dy5zeHNreS5jbsgBAdoBLGh0dHA6Ly93d3cuc3hza3kuY24vaXQvaHRtbC8yMDA2NzIwMjY2NTcuaHRtgAIBqQIfGMxD3uCrPqgDAegDH-gDBQ&num=3&adurl=http://www.amrein.com/agendax&client=ca-pub-6505899966777703")' onmouseout='isShowGoogle = false;InTextAds_GoogleLayer="_u9F20_u6807"'>鼠标</strong>效果及ؓDropDownListl定?/span><br>    /// </summary><br>    /// <param name="sender"></param><br>    /// <param name="e"></param><br>    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)<br>    {<br>        //为DropDownListl定?br>        if (((DropDownList)e.Row.FindControl("ddlXL")) != null)<br>        {<br>            DropDownList ddlXL = (DropDownList)e.Row.FindControl("ddlXL");<br>            ddlXL.Items.Clear();<br>            ddlXL.Items.Add(new ListItem("博士", "1"));<br>            ddlXL.Items.Add(new ListItem("士", "2"));<br>            ddlXL.Items.Add(new ListItem("学士", "3"));<br>        }</p> <p>        //加入鼠标滑过的高亮效?br>        if (e.Row.RowType == DataControlRowType.DataRow)//判定当前的行是否属于datarowcd的行<br>        {<br>            //当鼠标放上去的时?先保存当前行的背景颜?q给附一颜色<br>            e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',this.style.fontWeight='';");<br>            //当鼠标离开的时?背景颜色还原的以前的颜?br>            e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor,this.style.fontWeight='';");<br>        }<br>        //单击行改变行背景颜色<br>        if (e.Row.RowType == DataControlRowType.DataRow)<br>        {<br>            e.Row.Attributes.Add("onclick", "this.style.backgroundColor='#99cc00'; this.style.color='buttontext';this.style.cursor='default';");<br>        } <br>    }</p> <img src ="http://m.tkk7.com/yank/aggbug/130185.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-07-13 22:14 <a href="http://m.tkk7.com/yank/archive/2007/07/13/130185.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> GridView自定义分导?http://m.tkk7.com/yank/archive/2007/07/13/130150.html停留的风停留的风Fri, 13 Jul 2007 10:43:00 GMThttp://m.tkk7.com/yank/archive/2007/07/13/130150.htmlhttp://m.tkk7.com/yank/comments/130150.htmlhttp://m.tkk7.com/yank/archive/2007/07/13/130150.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/130150.htmlhttp://m.tkk7.com/yank/services/trackbacks/130150.html阅读全文

停留的风 2007-07-13 18:43 发表评论
]]>
在GridView中针寚w标单ȝ某一独立单元D行编?/title><link>http://m.tkk7.com/yank/archive/2007/07/13/130119.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Fri, 13 Jul 2007 08:35:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/07/13/130119.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/130119.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/07/13/130119.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/130119.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/130119.html</trackback:ping><description><![CDATA[原文地址Q?br><a target=_blank><font color=#0000ff><u>http://www.codeproject.com/useritems/EditGridviewCells.asp</u></font></a><br><a target=_blank><u><font color=#0000ff>[原文源码下蝲]</font></u></a><br><a target=_blank><u><font color=#0000ff>[译者改后源码下载]</font></u></a><br>[译]在GridView中针寚w标单ȝ某一独立单元D行编?br>原文发布日期Q?007.04.07<br>作者:<a target=_blank><u><font color=#0000ff>Declan Bright</font></u></a><br>译Q?a target=_blank><u><font color=#0000ff>webabcd</font></u></a><br><strong>介绍</strong><br>ASP.NET的GridView控g允许你通过讄它的EditIndex属性来~辑数据行,此时整个数据行都处于~辑模式?nbsp;如果你在EditItemTemplate的一些列中用了DropDownList控gQ那么你也许不希望整个数据行都处于编辑模式?nbsp;因ؓQ如果每一个DropDownList控g都有很多选项的话Q那么一ơ加载所有DropDownList控g的所有选项׃D面执行~慢?nbsp;<br>另外Q如果你的数据行的编辑模式需要占用更多的I间的话Q那么针Ҏ一个独立的单元D行编辑要优于针对整个数据行进行编辑?nbsp;q里Q我示范如何实现这L功能Q又如何d理事仉证(event validationQ?nbsp;<br><strong>背景</strong><br>本文Z我之前写的一文章:<a target=_blank><u><font color=#0000ff>GridView和DataList响应单击数据行和双击数据行事?/font></u></a>。如果你不知道如何让GridView响应单击数据行事Ӟ那么你可以在阅读本文之前先看看这文章?nbsp;<br><br><strong>~辑某一个独立的GridView单元根{?/strong><br><img onmouseover="this.style.cursor='hand';" style="CURSOR: hand" onclick=window.open(this.src); height=435 alt=按此在新H口打开囄 src="http://www.517sou.net/attachments/month_0704/xum1_EditGridviewCells1.jpg" width=495 onload=javascript:DrawImage(this); border=0><br>我所演示的这个GridView有一个不可见的asp:ButtonField控gQ它处于GridView的第一列,名ؓ“SingleClick”?nbsp;它用于给GridView的数据行增加单击事g?nbsp;<br> <div id="pllfjtt" class=code_main><Columns>                <br>    <asp:ButtonField Text="SingleClick" CommandName="SingleClick" Visible="False" /><br></Columns></div> <br>其它每一列的ItemTemplate中有一个可见的Label控g和一个不可见的TextBox或DropDownList控g?nbsp;Z方便Q我们称Label为显C控ӞTextBox或DropDownList为编辑控件?br> <div id="fnzbnhx" class=code_main>    <asp:TemplateField HeaderText="Task"><br>        <ItemTemplate><br>            <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>'></asp:Label><br>            <asp:TextBox ID="Description" runat="server" Text='<%# Eval("Description") %>' Width="175px" visible="false"></asp:TextBox><br>        </ItemTemplate><br>    </asp:TemplateField></div> <br>q里的办法就是用昄控g来显C数据,当单元格所包含的显C控件被单击的时候,则把昄控g的Visible属性设|ؓfalseq且把编辑控件的Visible属性设|ؓtrue?nbsp;q里不用使用EditItemTemplat?nbsp;<br><br>在RowDataBound事g内@环ؓ每一数据行的每一单元格增加单M件?nbsp;使用单元格在数据行中的烦引作Z件参敎ͼq样在单元格触发了单M件后我们可以知道到底是哪个单元D单击了?nbsp;<br> <div id="nnrvpdt" class=code_main>    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)<br>    {<br>        if (e.Row.RowType == DataControlRowType.DataRow)<br>        {<br>            // 从第一个单元格内获得LinkButton控g<br>            LinkButton _singleClickButton = (LinkButton)e.Row.Cells[0].Controls[0];<br>            // q回一个字W串Q表C对包含目标控g?nbsp;ID 和事件参数的回发函数?nbsp;JavaScript 调用<br>            string _jsSingle = ClientScript.GetPostBackClientHyperlink(_singleClickButton, "");<br><br>            // l每一个可~辑的单元格增加事g<br>            for (int columnIndex = _firstEditCellIndex; columnIndex < e.Row.Cells.Count; columnIndex++)<br>            {<br>                // 增加列烦引作Z件参?br>                string js = _jsSingle.Insert(_jsSingle.Length - 2, columnIndex.ToString());<br>                // l单元格增加onclick事g<br>                e.Row.Cells[columnIndex].Attributes["onclick"] = js;<br>                // l单元格增加鼠标l过时指针样?br>                e.Row.Cells[columnIndex].Attributes["style"] += "cursor:pointer;cursor:hand;"; <br>            }     <br>        }<br>    }</div> <br>在RowCommand事g内读出命令参数和事g参数?nbsp;q会告诉我们被选中的行和列的烦引?nbsp;<br>     <div id="hlnprpx" class=code_main>int _rowIndex = int.Parse(e.CommandArgument.ToString());      <br>    int _columnIndex = int.Parse(Request.Form["__EVENTARGUMENT"]);</div> <br>因ؓ知道了被选中的行和列的烦引,所以可以通过把显C控件的Visible讄为falseQ编辑控件的Visible讄为true来把某个独立的单元格讄为编辑模式?nbsp;然后通过清除单元格的属性来删除被选中单元格的单击事g?nbsp;<br> <div id="vhzlfnb" class=code_main>    // 获得被选中单元格的昄控gq设|其不可?br>    Control _displayControl = _gridView.Rows[_rowIndex].Cells[_columnIndex].Controls[1]; <br>    _displayControl.Visible = false;<br>    // 获得被选中单元格的~辑控gq设|其可见<br>    Control _editControl = _gridView.Rows[_rowIndex].Cells[_columnIndex].Controls[3];<br>    _editControl.Visible = true;<br>    // 清除被选中单元格属性以删除click事g<br>    _gridView.Rows[_rowIndex].Cells[_columnIndex].Attributes.Clear();</div> <br>下面有一些代码用于回发服务器后设|焦点到~辑控gQ如果编辑控件是DropDownList的话Q那么它的SelectedValue要设|ؓ昄控g的|如果~辑控g是TextBox的话Q那么ؓ了做好编辑的准备p使它的文本被选中?nbsp;<br> <div id="bnphrpx" class=code_main>    // 讄焦点到被选中的编辑控?br>    ClientScript.RegisterStartupScript(GetType(), "SetFocus", <br>        "<script>document.getElementById('" + _editControl.ClientID + "').focus();</script>");<br>    // 如果~辑控g是DropDownList的话<br>    // SelectedValue讄为显C控件的?br>    if (_editControl is DropDownList && _displayControl is Label)<br>    {<br>        ((DropDownList)_editControl).SelectedValue = ((Label)_displayControl).Text;<br>    }                 <br>    // 如果~辑控g是TextBox的话则选中文本框内文本<br>    if (_editControl is TextBox)<br>    {<br>       ((TextBox)_editControl).Attributes.Add("onfocus", "this.select()");<br>    }</div> <br>在这个Demo中,我把事g被触发的历史记录也写C里?nbsp;<br><br>如果GridView处于~辑模式的话Q那么要在RowUpdating事g里去查找被选中行的每一个单元格?nbsp;如果发现单元格处于编辑模式的话,那么p?#8220;更新”代码?nbsp;在这个Demo中,数据保存在DataTable里,而这个DataTable则储存在session中?nbsp;<br> <div id="fzlnpdd" class=code_main>    // 循环每一列以扑ֈ处于~辑模式下的单元?br>    for (int i = 1; i < _gridView.Columns.Count; i++)<br>    {<br>        // 获得单元格的~辑控g<br>        Control _editControl = _gridView.Rows[e.RowIndex].Cells[i].Controls[3];<br>        if (_editControl.Visible)<br>        {<br>           . update the data<br>        }<br>    }</div> <br>Z保RowUpdating事g在编辑单元格后被Ȁ发,要在Page_Load中来触发q个事g?nbsp;~辑了TextBox后,通过按回车键或者单d一单元格来佉K面做回发处理Q下面的q段代码是用于保M数据的改变都会被更新?br> <div id="zvxzbzf" class=code_main>    if (this.GridView1.SelectedIndex > -1)<br>    {<br>        this.GridView1.UpdateRow(this.GridView1.SelectedIndex, false);<br>    } </div>   <br><br><strong>Z验证而注册回发和回调数据</strong><br>在RowDataBound中创建的自定义事件必要在页中注册?nbsp;通过重写RenderҎ来调用ClientScriptManager.RegisterForEventValidation?nbsp;通过GridViewRow.UniqueIDq回行的唯一IDQ按U的唯一ID通过在行的唯一ID后附?#8220;$ct100”而生成?nbsp;<br> <div id="prtfrff" class=code_main>    protected override void Render(HtmlTextWriter writer)<br>    {<br>        foreach (GridViewRow r in GridView1.Rows)<br>        {<br>            if (r.RowType == DataControlRowType.DataRow)<br>            {<br>                for (int columnIndex = _firstEditCellIndex; columnIndex < r.Cells.Count; columnIndex++)<br>                {<br>                    Page.ClientScript.RegisterForEventValidation(r.UniqueID + "$ctl00", columnIndex.ToString());<br>                }<br>            }<br>        }<br>      <br>        base.Render(writer);<br>    }</div> <br>q将防止M“回发或回调参数无?#8221;的错误?br><br><strong>q个Demo中的其它CZ</strong><br>使用SQL数据源控件编辑某一独立的GridView单元?br>用SqlDataSouce控g实现q个技术需要对GridView的RowUpdating事g做一些修攏V?nbsp;当更新GridView的行的时候,SqlDataSource控g一般要把|valuesQ从EditItemTemplate转移到NewValues集合里?nbsp;因ؓ我们没有使用EditItemTemplateQ所以这U情况下|valuesQ不会自动地转移到NewValues集合里?nbsp;<br>    e.NewValues.Add(key, value);<br>我在App_Data文g夹下使用了一个简单的SQL Server Express数据库?nbsp;Q要使用你自q数据库的话,你可以修改web.config里的q接字符Ԍ<br><br><br>使用对象数据源控件编辑某一独立的GridView单元?br>本示例用了App_Code文g夹内的两个类Q?br>    ·Task.cs – d对象<br>    ·TaskDataAccess.cs – 理d对象<br><br>Aspx늚后置代码与SQL Data SourceCZ是一L?nbsp;ObjectDataSource通过TaskDataAccess.csc里的GetTasks和UpdateTaskҎ来管理数据?nbsp;<br><br><strong>有着电子数据表样式的GridView</strong><br>q里有一个与电子数据表的样式很像的GridView?nbsp;Q虽然它看v来像一个电子数据表Q但是ƈ不是真的有像电子数据表一L功能Q它仍然是一个GridView。) <br><br>q里虽然有一些单d改变单元格样式的附加代码Q但是主要的代码q是与上面所q是相同的?br><img onmouseover="this.style.cursor='hand';" style="CURSOR: hand" onclick=window.open(this.src); height=432 alt=按此在新H口打开囄 src="http://www.517sou.net/attachments/month_0704/qnft_EditGridviewCells2.jpg" width=490 onload=javascript:DrawImage(this); border=0><br>用SQL数据源控件实现有着电子数据表样式的GridView<br>本示例与上面的基本相同,但是它修改了GridView的RowUpdating事g以其允许用SqlDataSource控g来工作?br><br><strong>参?/strong><br>    ·<a target=_blank><u><font color=#0000ff>GridView和DataList响应单击数据行和双击数据行事?/font></u></a><br>    ·<a target=_blank><u><font color=#0000ff>ASP.NET 2.0数据教程</font></u></a><br><br><strong>l论</strong><br>如果你想在GridView中一ơ只针对一个单元格q行~辑Q那么这个方法将会对你有所帮助?br><br>译者注Q事仉证(EventValidationQ。出于安全目的,此功能验证回发或回调事g的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效ƈ且是预期的,则用ClientScriptManager.RegisterForEventValidationҎ来注册回发或回调数据以进行验证?br><img src="http://www.517sou.net/images/download.gif" align=absMiddle> <a target=_blank><u><font color=#0000ff>点击下蝲此文?/font></u></a> <img src ="http://m.tkk7.com/yank/aggbug/130119.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-07-13 16:35 <a href="http://m.tkk7.com/yank/archive/2007/07/13/130119.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 删除d认事ghttp://m.tkk7.com/yank/archive/2007/07/12/129790.html停留的风停留的风Thu, 12 Jul 2007 03:47:00 GMThttp://m.tkk7.com/yank/archive/2007/07/12/129790.htmlhttp://m.tkk7.com/yank/comments/129790.htmlhttp://m.tkk7.com/yank/archive/2007/07/12/129790.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/129790.htmlhttp://m.tkk7.com/yank/services/trackbacks/129790.html  阅读全文

停留的风 2007-07-12 11:47 发表评论
]]>
ASP.net中时间的获取http://m.tkk7.com/yank/archive/2007/07/10/129235.html停留的风停留的风Tue, 10 Jul 2007 01:54:00 GMThttp://m.tkk7.com/yank/archive/2007/07/10/129235.htmlhttp://m.tkk7.com/yank/comments/129235.htmlhttp://m.tkk7.com/yank/archive/2007/07/10/129235.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/129235.htmlhttp://m.tkk7.com/yank/services/trackbacks/129235.htmlSystem.DateTime currentTime=new System.DateTime();

1.1 取当前年月日时分U?
currentTime=System.DateTime.Now;
  阅读全文

停留的风 2007-07-10 09:54 发表评论
]]>
Asp.net中随机数的生?/title><link>http://m.tkk7.com/yank/archive/2007/07/08/128839.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Sat, 07 Jul 2007 17:29:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/07/08/128839.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/128839.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/07/08/128839.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/128839.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/128839.html</trackback:ping><description><![CDATA[     摘要: Random rand=new Random(); <br>string ran=rand.Next().ToString();q回一个随机整?<br>~号 <br> Ҏ名称 <br> 功能描述 <br> <br>1 <br> NextQ) <br> q回一?~2147483647之间的整?<br> <br>2 <br> NextQiQ?<br> q回一?~i之间的整?<br> <br>3 <br> NextQiQjQ?<br> q回一个i~j之间的整?<br> <br>4 <br> NextdoubleQ) <br> q回一?~1之间的随机小?<br> <br>5 <br> NextdoubleQ? byteQ)Q?<br> ?~255之间的随机整C为字节数l各元素的倹{? <br>  <a href='http://m.tkk7.com/yank/archive/2007/07/08/128839.html'>阅读全文</a><img src ="http://m.tkk7.com/yank/aggbug/128839.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-07-08 01:29 <a href="http://m.tkk7.com/yank/archive/2007/07/08/128839.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何发邮?/title><link>http://m.tkk7.com/yank/archive/2007/07/08/128838.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Sat, 07 Jul 2007 17:24:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/07/08/128838.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/128838.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/07/08/128838.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/128838.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/128838.html</trackback:ping><description><![CDATA[     摘要:  在ASP.NETE序中发送邮件不再象ASP中那样需要组件的支持了,?NET的框架基cȝSystem.Web.Mail名称I间内包含的MailMessage和SmtpMailcd以实现这个功能?q个已经有点q时的最新的是System.Net.Mail <br>  <a href='http://m.tkk7.com/yank/archive/2007/07/08/128838.html'>阅读全文</a><img src ="http://m.tkk7.com/yank/aggbug/128838.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-07-08 01:24 <a href="http://m.tkk7.com/yank/archive/2007/07/08/128838.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP.NETE序中常用的三十三种代码http://m.tkk7.com/yank/archive/2007/05/05/115379.html停留的风停留的风Fri, 04 May 2007 17:22:00 GMThttp://m.tkk7.com/yank/archive/2007/05/05/115379.htmlhttp://m.tkk7.com/yank/comments/115379.htmlhttp://m.tkk7.com/yank/archive/2007/05/05/115379.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/115379.htmlhttp://m.tkk7.com/yank/services/trackbacks/115379.html阅读全文

停留的风 2007-05-05 01:22 发表评论
]]>
在Asp.net中ؓ囑փ加入版权信息http://m.tkk7.com/yank/archive/2007/05/05/115378.html停留的风停留的风Fri, 04 May 2007 17:11:00 GMThttp://m.tkk7.com/yank/archive/2007/05/05/115378.htmlhttp://m.tkk7.com/yank/comments/115378.htmlhttp://m.tkk7.com/yank/archive/2007/05/05/115378.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/115378.htmlhttp://m.tkk7.com/yank/services/trackbacks/115378.html阅读全文

停留的风 2007-05-05 01:11 发表评论
]]>
FreeTextBox的应用技?/title><link>http://m.tkk7.com/yank/archive/2007/05/05/115376.html</link><dc:creator>停留的风</dc:creator><author>停留的风</author><pubDate>Fri, 04 May 2007 16:50:00 GMT</pubDate><guid>http://m.tkk7.com/yank/archive/2007/05/05/115376.html</guid><wfw:comment>http://m.tkk7.com/yank/comments/115376.html</wfw:comment><comments>http://m.tkk7.com/yank/archive/2007/05/05/115376.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/yank/comments/commentRss/115376.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yank/services/trackbacks/115376.html</trackback:ping><description><![CDATA[<p>介:对于FreeTextBox(版本3.1.6)在ASP.Net 2.0中?只需?个文ӞFreeTextBox.DLL和ftb.imagegallery.aspx<br><br>1。下载最新版FreeTextBox(版本3.1.6),解压<br>   FreeTextBox 3.1.6 (2006/07/18) <br>   博客园本C载: http://www.cnblogs.com/Files/cleo/FTBv3-1-6.zip<br>   作者网站下载地址Qhttp://freetextbox.com/download/<br>   详细版本有哪些改q和修改历史可以看这里:http://freetextbox.com/download/changelog.aspx<br></p> <div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: rgb(0,0,0)">FreeTextBox 3.1.6 (2006/07/18)<br>    * BUG: Firefox postback problems (due to IE specific code)<br>    * CHANGE: createlink now requires text to be selected<br>    * BUG: FontSizesMenuList now functions correctly<br>    * BUG: IE users would see the tag path of the entire document<br>    * BUG: WordClean fix for </span><span style="COLOR: rgb(0,0,255)"><</span><span style="COLOR: rgb(128,0,0)">b</span><span style="COLOR: rgb(0,0,255)">></span><span style="COLOR: rgb(0,0,0)"> tags<br>    * BUG: bug in FF vs. IE DOM handling of extra \n tag<br></span></div> <p>   Free版本的收费版本的区别可以看这里:http://freetextbox.com/features/<br><br>2。打开ASP.Net2.0目Q添加引用。(如果dq以前版本的FreeTextBoxQ先删除以前版本的引用)<br>2.1。拷贝ftb.imagegallery.aspxC要用FreeTextBox的目录(当然可以是其他,但是可能要设|\径)<br>3。将FreeTextBoxd到工h。(工具栏〉常规〉选择V浏览到DLL文gQ添加)<br>4。可以将工具栏上的控件拖入到你的面?br>    </p> <div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: rgb(0,0,255)"><</span><span style="COLOR: rgb(128,0,0)">FTB:FreeTextBox </span><span style="COLOR: rgb(255,0,0)">ID</span><span style="COLOR: rgb(0,0,255)">="Free1"</span><span style="COLOR: rgb(255,0,0)">   ImageGalleryPath</span><span style="COLOR: rgb(0,0,255)">="~/ImageAdmin"</span><span style="COLOR: rgb(255,0,0)">   <br>        runat</span><span style="COLOR: rgb(0,0,255)">="server"</span><span style="COLOR: rgb(255,0,0)"> Text</span><span style="COLOR: rgb(0,0,255)">='<%# </span><span style="COLOR: rgb(255,0,0)">Bind("Contents") %</span><span style="COLOR: rgb(0,0,255)">></span><span style="COLOR: rgb(0,0,0)">'<br>        ButtonDownImage="True"<br>        ToolbarLayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,FontForeColorsMenu|Bold,Italic,Underline,Strikethrough;Superscript,Subscript,RemoveFormat|JustifyLeft,JustifyRight,JustifyCenter,JustifyFull;BulletedList,NumberedList,Indent,Outdent;CreateLink,Unlink,InsertImage,InsertImageFromGallery,InsertRule|Cut,Copy,Paste;Undo,Redo,Print"><br>        </span><span style="COLOR: rgb(0,0,255)"></</span><span style="COLOR: rgb(128,0,0)">FTB:FreeTextBox</span><span style="COLOR: rgb(0,0,255)">></span></div> <p><br>4.1。修改ImageGalleryPath属性ؓ你图片的攄目录?br>5。Q&A<br>5.1。QQ怎么不能新徏目录Q上传文件等Q?br>     AQ修改ftb.imagegallery.aspx面可以做到<br>           </p> <div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: rgb(0,0,255)"><</span><span style="COLOR: rgb(128,0,0)">FTB:ImageGallery </span><span style="COLOR: rgb(255,0,0)">id</span><span style="COLOR: rgb(0,0,255)">="ImageGallery1"</span><span style="COLOR: rgb(255,0,0)"><br>            SupportFolder</span><span style="COLOR: rgb(0,0,255)">="~/aspnet_client/FreeTextBox/"</span><span style="COLOR: rgb(255,0,0)"><br>            AllowImageDelete</span><span style="COLOR: rgb(0,0,255)">="true"</span><span style="COLOR: rgb(255,0,0)"> AllowImageUpload</span><span style="COLOR: rgb(0,0,255)">="true"</span><span style="COLOR: rgb(255,0,0)"><br>             AllowDirectoryCreate</span><span style="COLOR: rgb(0,0,255)">="true"</span><span style="COLOR: rgb(255,0,0)"> AllowDirectoryDelete</span><span style="COLOR: rgb(0,0,255)">="true"</span><span style="COLOR: rgb(255,0,0)"> runat</span><span style="COLOR: rgb(0,0,255)">="Server"</span><span style="COLOR: rgb(255,0,0)"> </span><span style="COLOR: rgb(0,0,255)">/></span></div> <p><br>        修改AllowImageDelete{属?br>5.2。QQ怎么没有看到“从图片库插入囄”q个图标Q?br>     AQ修?lt;FTB:FreeTextBox />的ToolbarLayout属性,d一个InsertImageFromGalleryQ上面代码的例子是已经d好的?br>5.3。QQ按钮怎么是英文提C?<br>     AQ?lt;FTB:FreeTextBox />有个属性叫做LanguageQ把默认的en-US改称zh-CN吧,是中文体了Q听说这个版本带?5U语a呢?br><br>新增博客园本C载: <a >http://www.cnblogs.com/Files/cleo/FTBv3-1-6.zip</a><br></p> <img src ="http://m.tkk7.com/yank/aggbug/115376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yank/" target="_blank">停留的风</a> 2007-05-05 00:50 <a href="http://m.tkk7.com/yank/archive/2007/05/05/115376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebControl.ToolTip 属性及用法http://m.tkk7.com/yank/archive/2007/05/05/115375.html停留的风停留的风Fri, 04 May 2007 16:09:00 GMThttp://m.tkk7.com/yank/archive/2007/05/05/115375.htmlhttp://m.tkk7.com/yank/comments/115375.htmlhttp://m.tkk7.com/yank/archive/2007/05/05/115375.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/115375.htmlhttp://m.tkk7.com/yank/services/trackbacks/115375.html阅读全文

停留的风 2007-05-05 00:09 发表评论
]]>
ASP.NET中MD5加密实例讲解http://m.tkk7.com/yank/archive/2007/05/02/115017.html停留的风停留的风Wed, 02 May 2007 03:18:00 GMThttp://m.tkk7.com/yank/archive/2007/05/02/115017.htmlhttp://m.tkk7.com/yank/comments/115017.htmlhttp://m.tkk7.com/yank/archive/2007/05/02/115017.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/115017.htmlhttp://m.tkk7.com/yank/services/trackbacks/115017.html

<%@ Page Language="C#" ContentType="text/html"%>
<%@ Import Namespace="System"%>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e){
//获取要加密的字段Qƈ转化为Byte[]数组
byte[] data=System.Text.Encoding.Unicode
.GetBytes(source.Text.ToCharArray());
//建立加密服务
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
//加密Byte[]数组
byte[] result= md5.ComputeHash(data);
//加密后的数l{化ؓ字段
string sResult=System.Text.Encoding.Unicode.GetString(result);
//昄出来
sha1_1.Text="MD5普通加密:"+sResult.ToString()+"<br/>";
//作ؓ密码方式加密
string EnPswdStr=System.Web.Security.FormsAuthentication.
HashPasswordForStoringInConfigFile(source.Text.ToString(),"MD5");
//昄出来
sha1_2.Text="MD5密码加密Q?+EnPswdStr+"<br/>";
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>试</title>
</head>
<body>
<h3>SHA1加密</h3>
<form runat="server">
<asp:label id="sha1_1" runat="server"></asp:label>
<asp:label id="sha1_2" runat="server"></asp:label>
<asp:textbox ID="source" runat="server" TextMode="SingleLine" Text="test" AutoPostBack="true" />
Q回车)
</form>
</body>
</html>
 

其实在ASP.Net~程中,不用调用md5.asp来加密数据。在DotNet中有自带的类QSystem.Web.Security.HashPasswordForStoringInConfigFile()

public string md5(string str,int code)
{
if(code==16) //16位MD5加密Q取32位加密的9~25字符Q?br>{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ;
}

if(code==32) //32位加?br>{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
}

return "00000000000000000000000000000000"; }

单的使用

头文Ӟusing System.Web.Security;

初始化数据库里的字段

 string strPwd=FormsAuthentication.HashPasswordForStoringInConfigFile(this.tbox_Pwd.Text,"MD5");


ASP.NET中加密与解密QueryString的方?/h2>

 

转蝲Q?/strong>

1.加密?/strong>

  Response.Redirect("DetailInfo.aspx?id=" + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes("sp10006")).Replace("+","%2B"));

  2.解密?/strong>

  string ID = System.Text.Encoding.Default.GetString(Convert.FromBase64String(Request.QueryString["id"].ToString().Replace("%2B","+")));




停留的风 2007-05-02 11:18 发表评论
]]>DataListl定数据Q源码)http://m.tkk7.com/yank/archive/2007/04/22/112820.html停留的风停留的风Sun, 22 Apr 2007 14:10:00 GMThttp://m.tkk7.com/yank/archive/2007/04/22/112820.htmlhttp://m.tkk7.com/yank/comments/112820.htmlhttp://m.tkk7.com/yank/archive/2007/04/22/112820.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/112820.htmlhttp://m.tkk7.com/yank/services/trackbacks/112820.html  <ItemTemplate>  
      <table   cellpadding=10   style="font:   10.5pt   宋体">  
              <tr>  
                    <td   width=1   bgcolor="BD8672"/>  
                         
                          <td   valign="top">  
                              <b>书名Q?lt;/b><%#   DataBinder.Eval(Container.DataItem,   "eat_name")   %><br>  
                                                         
                               
                              <asp:linkbutton   CommandName="edit"   runat="server"   ID="Linkbutton1"   NAME="Linkbutton1">  
                                <b>名称Q?lt;/b><%#   DataBinder.Eval(Container.DataItem,   "eat_name")   %>  
                              </asp:linkbutton>  
                          </td>  
                      </tr>  
                  </table>  
   
              </ItemTemplate>  
   
              <EditItemTemplate>  
   
                  <table   cellpadding=10   style="font:   10.5pt   宋体">  
                      <tr>  
                          <td   width=1   bgcolor="BD8672"/>  
                          <td   valign="top">  
                              <img   align="top"   src='<%#   DataBinder.Eval(Container.DataItem,   "eat_id")   %>'   >  
                          </td>  
                          <td   valign="top">  
                              <b>书名Q?lt;/b><%#   DataBinder.Eval(Container.DataItem,   "eat_name")   %><br>  
                              <b>cdQ?lt;/b><%#   DataBinder.Eval(Container.DataItem,   "eat_name")   %><br>  
                              <b>出版?  IDQ?lt;/b><%#   DataBinder.Eval(Container.DataItem,   "eat_name")   %><br>  
                              <b>hQ?lt;/b><asp:TextBox   id="edit_price"     text='<%#   DataBinder.Eval(Container.DataItem,   "eat_name")   %>'   runat="server"   />  
                              <p>  
                              <asp:linkbutton   CommandName="update"   runat="server"   ID="Linkbutton2"   NAME="Linkbutton2"><img   border="0"   src="..//images/update_book.gif"   ></asp:linkbutton>  
                              <asp:linkbutton   CommandName="cancel"   runat="server"   ID="Linkbutton3"   NAME="Linkbutton3"><img   border="0"   src="..//images/cancel_book.gif"   ></asp:linkbutton>  
                          </td>  
                      </tr>  
                      <tr>  
                      <td   colspan="2"   style="padding-top:15"   align="center">  
  <span   id="Span1"   EnableViewState="false"   style="font:   arial   11pt;"   runat="server"   />  
  </td>  
                       
                      </tr>  
                  </table>  
                         
              </EditItemTemplate>  
   
      </ASP:DataList>   
 

停留的风 2007-04-22 22:10 发表评论
]]>
面间多g递(技巧)StringBuildercȝ使用http://m.tkk7.com/yank/archive/2007/04/22/112636.html停留的风停留的风Sun, 22 Apr 2007 08:31:00 GMThttp://m.tkk7.com/yank/archive/2007/04/22/112636.htmlhttp://m.tkk7.com/yank/comments/112636.htmlhttp://m.tkk7.com/yank/archive/2007/04/22/112636.html#Feedback0http://m.tkk7.com/yank/comments/commentRss/112636.htmlhttp://m.tkk7.com/yank/services/trackbacks/112636.html阅读全文

停留的风 2007-04-22 16:31 发表评论
]]>
存储q程详细介绍http://m.tkk7.com/yank/archive/2007/04/22/112619.html停留的风停留的风Sun, 22 Apr 2007 06:48:00 GMThttp://m.tkk7.com/yank/archive/2007/04/22/112619.htmlhttp://m.tkk7.com/yank/comments/112619.htmlhttp://m.tkk7.com/yank/archive/2007/04/22/112619.html#Feedback3http://m.tkk7.com/yank/comments/commentRss/112619.htmlhttp://m.tkk7.com/yank/services/trackbacks/112619.html阅读全文

停留的风 2007-04-22 14:48 发表评论
]]>
վ֩ģ壺 ƷվƵ | ޹Ʒר| ŮƵƵȫƵվ| Ļþ| ޸͵һ| һëƬaaaaaaѿ| ҹӰ| þþ뾫Ʒպ| Ƶ| 91Ƶ| Ʒר߹ۿ | Vþþ| ޾ƷѶ| hƵѹۿ| ɫʹۺ߹ۿ| ޳aƬ777777| 椸Ƶ߹ۿ| aëƬѹۿƵ| AVۺ뾫Ʒ | ձػػƴ̼Ƭ| йŮ69ٸ| 99ƷƵ| ѸԴվƵ| ޹ۺϾƷ| ˳ӰԺ밴Ħ| ѸԴվ߹ۿ| ҹƷһƵ| ˾Ʒһ| ޾Ʒ˾þ| Ʒ޾Ʒպ| Ļ߲| ҳվѹۿ| 91ѹԲ2021| jizz߹ۿ| ŮƵƵaѹۿ| ͵͵ĸ| ޾Ʒ456߲| avۺɫ| AVר޾Ʒ| AVվ߹ۿ| ޹Ʒһž |