<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Vincent's blog</title><subtitle type="text">Nothing is impossible for a willing heart.</subtitle><id>http://feed.cnblogs.com/blog/u/479/rss</id><updated>2010-07-16T07:58:05Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/479/rss"/><entry><id>http://www.cnblogs.com/attraction/archive/2010/07/11/using_reCaptcha_in_UpdatePanel_and_ModalPopup.html</id><title type="text">reCaptcha 在UpdatePanel 和 ModalPopup中的使用</title><summary type="text">当前支持asp.net最新版本的reCaptcha是1.0.4.0 可以在这里下载.随后在这里申请reCaptha key. 下载后,引用Recaptcha.dll. 然后将如下代码添加到aspx或a...</summary><published>2010-07-10T16:56:00Z</published><updated>2010-07-10T16:56:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2010/07/11/using_reCaptcha_in_UpdatePanel_and_ModalPopup.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2010/07/11/using_reCaptcha_in_UpdatePanel_and_ModalPopup.html"/><content type="html">&lt;p&gt;当前支持asp.net最新版本的reCaptcha是1.0.4.0 可以在&lt;a href="http://code.google.com/p/recaptcha/downloads/list?q=label:aspnetlib-Latest" target="_blank"&gt;这里下载&lt;/a&gt;.随后在这里&lt;a href="https://www.google.com/recaptcha/admin/create" target="_blank"&gt;申请reCaptha key&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;下载后,引用Recaptcha.dll. 然后将如下代码添加到aspx或ascx中:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:1fed17c6-6c8d-4b71-bc89-35636192e310" class="wlWriterEditableSmartContent"&gt;&lt;span style="color: #000000;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt;@ Register TagPrefix&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;recaptcha&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; Namespace&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Recaptcha&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; Assembly&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Recaptcha&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;%&amp;gt;&lt;/span&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;UpdatePanel:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;aspx code:&lt;/strong&gt;&lt;/p&gt;&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:243817f5-eafe-48f5-a2d3-1cb79ccc7056" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color: White; overflow: auto;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="upComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; UpdateMode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="conditional"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;               &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:TextBox &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;TextMode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MultiLine"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="txtComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="100px"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="450px"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;br &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;              &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:RequiredFieldValidator &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="rvComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ControlToValidate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="txtComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  ErrorMessage&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Comment field is required!"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;   &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;recaptcha:RecaptchaControl &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="recaptcha"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Theme&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="clear"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; PublicKey&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="your publicKey"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; PrivateKey&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="your privateKey"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="upButton"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; UpdateMode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Conditional"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;         &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;              &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Label &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="lbtRecaptchError"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ForeColor&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Button &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="btnOk"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="  Ok  "&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; OnClick&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="btnSaveComment_Click"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Visible&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; CausesValidation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                                           &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Button &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="btnCancel"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Cancel"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; OnClick&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="btnCancel_Click"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;   CausesValidation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Visible&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;          &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;&lt;font face="Trebuchet MS"&gt;CS Code:&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:22fd6f45-068d-4f65-bca0-375be9863f57" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color: #ffffff; overflow: auto;"&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; btnSaveComment_Click(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e) {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (recaptcha.IsValid) {&lt;br /&gt;           &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证通过后在这里可以获得txtComment.Text值.&lt;br /&gt;           &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;..............&lt;br /&gt;           &lt;br /&gt;           &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;然后清空&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            txtComment.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;            lbtRecaptchError.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;            upComment.Update();&lt;br /&gt;        }&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;else&lt;/span&gt;&lt;span style="color: #000000;"&gt; {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证失败可以获得reCaptcha返回的信息&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            lbtRecaptchError.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; recaptcha.ErrorMessage;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;这里将更新reCaptcha的验证码.&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            ScriptManager.RegisterClientScriptBlock(Page,Page.GetType(), &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;whatever1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Recaptcha.reload();&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;            upButton.Update();&lt;br /&gt;         }&lt;br /&gt;        &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; btnCancel_Click(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e) {&lt;br /&gt;        lbtRecaptchError.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;        txtComment.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;        upButton.Update();&lt;br /&gt;        upComment.Update();&lt;br /&gt;    }&lt;/span&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;ModalPopup&lt;/p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;p&gt;&lt;strong&gt;aspx Code:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:133840fd-9a60-4a49-af41-28397989b41c" class="wlWriterEditableSmartContent"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="upMain"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; UpdateMode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Conditional"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:LinkButton &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="lbtLeaveComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Leave your comment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; OnClientClick&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="return Recaptcha.reload();"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;          &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="divComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="background-color: #ffffff; border-width: 3px; border-style: solid; border-color: Gray; padding: 3px; width: 590px;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;              &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;table&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;align&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="right"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; style&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="font-weight: bold"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; valign&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="top"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                          Add Comment:&lt;br/&gt;                      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;align&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="left"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                          &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="upInner"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; UpdateMode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="conditional"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                              &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                                  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:TextBox &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;TextMode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MultiLine"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="txtComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="100px"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="450px"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;br &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:RequiredFieldValidator &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="rvComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ControlToValidate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="txtComment"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  ErrorMessage&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Comment field is required!"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                              &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                          &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;colspan&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; align&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="center"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                          &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;recaptcha:RecaptchaControl &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="recaptcha"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Theme&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="clear"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; PublicKey&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="your publicKey"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; PrivateKey&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="your privateKey"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                          &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="upButton"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; UpdateMode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Conditional"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                              &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                                  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Label &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="lbtRecaptchError"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ForeColor&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                                  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Button &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="btnOk"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="  Ok  "&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; OnClick&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="btnSaveComment_Click"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Visible&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; CausesValidation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                                  &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                                  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Button &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="btnCancel"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Cancel"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; OnClick&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="btnCancel_Click"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; CausesValidation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Visible&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                              &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                          &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                      &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;                  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;              &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;table&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;          &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:ModalPopupExtender &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="ModalPopupExtender1"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; BackgroundCssClass&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="modalBackground"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;        PopupControlID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="divInner"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; DropShadow&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; TargetControlID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="lbtLeaveComment"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:ModalPopupExtender&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;  &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:UpdatePanel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;其中 &lt;font color="#ff0000"&gt;OnClientClick&lt;/font&gt;&lt;font color="#0000ff"&gt;="return Recaptcha.reload();" &lt;/font&gt;&lt;font color="#000000"&gt;是关键.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;CS Code:&lt;/strong&gt;&lt;/p&gt;&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:95db9279-9c93-42c0-a3c7-910554e02ad6" class="wlWriterEditableSmartContent"&gt;&lt;span style="color: #000000;"&gt;   &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; btnSaveComment_Click(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e) {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (recaptcha.IsValid) {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;省略.............&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            txtComment.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;            lbtRecaptchError.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;            Hide();&lt;br /&gt;        }&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;else&lt;/span&gt;&lt;span style="color: #000000;"&gt; {&lt;br /&gt;            lbtRecaptchError.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; recaptcha.ErrorMessage;&lt;br /&gt;            ScriptManager.RegisterClientScriptBlock(Page,Page.GetType(), &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;whatever1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Recaptcha.reload();&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;            upButton.Update();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; btnCancel_Click(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e) {&lt;br /&gt;        lbtRecaptchError.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;        txtComment.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&lt;br /&gt;        upButton.Update();&lt;br /&gt;        Hide();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;private&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; Hide() {&lt;br /&gt;        ModalPopupExtender1.Hide();&lt;br /&gt;        upComment.Update();&lt;br /&gt;    }&lt;/span&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/attraction/aggbug/1775071.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/attraction/archive/2010/07/11/using_reCaptcha_in_UpdatePanel_and_ModalPopup.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/attraction/archive/2009/11/09/1599234.html</id><title type="text">Invalid character in a Base-64 string</title><summary type="text">最近收到所维护网站的错误提示邮件.内容大致如下: type=System.FormatException message=Invalid character in a Base-64 string. stack= at System.Convert.FromBase64CharArray(Char[] inArray, Int32 offset, Int32 length) at Syst...</summary><published>2009-11-09T10:39:00Z</published><updated>2009-11-09T10:39:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2009/11/09/1599234.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2009/11/09/1599234.html"/><content type="text">最近收到所维护网站的错误提示邮件.内容大致如下: type=System.FormatException message=Invalid character in a Base-64 string. stack= at System.Convert.FromBase64CharArray(Char[] inArray, Int32 offset, Int32 length) at Syst...</content></entry><entry><id>http://www.cnblogs.com/attraction/archive/2009/04/16/1437265.html</id><title type="text">System.ArgumentOutOfRangeException at System.Web.HttpCachePolicy.UtcSetLastModified (DateTime utcDate)</title><summary type="text">今天应客户需要将一个修改过的web project发布到在美国的test server上,经过测试一切正常.本以为是个很简单的事情,确在随后收到了大量由系统发出的error email.全部都是关于一个问题:[代码] 通过google 发现问题竟然是由于我们的时间比美国快整整12小时,所以我们编译项目的时间比测试服务器的时间要整整提前12小时.针对测试服务器来讲这是一个未来的时间.这里有对这个问题...</summary><published>2009-04-16T07:14:00Z</published><updated>2009-04-16T07:14:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2009/04/16/1437265.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2009/04/16/1437265.html"/><content type="text">今天应客户需要将一个修改过的web project发布到在美国的test server上,经过测试一切正常.本以为是个很简单的事情,确在随后收到了大量由系统发出的error email.全部都是关于一个问题:[代码] 通过google 发现问题竟然是由于我们的时间比美国快整整12小时,所以我们编译项目的时间比测试服务器的时间要整整提前12小时.针对测试服务器来讲这是一个未来的时间.这里有对这个问题...</content></entry><entry><id>http://www.cnblogs.com/attraction/archive/2008/03/21/1116784.html</id><title type="text">Fabulous Adventures In Coding</title><summary type="text">Ayende在使用.Net 3.0的时候遇到了这样一个问题Csc.exe and delegate inference, or: Why C# has awkward syntaxCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--&gt;public ...</summary><published>2008-03-21T09:19:00Z</published><updated>2008-03-21T09:19:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2008/03/21/1116784.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2008/03/21/1116784.html"/><content type="text">Ayende在使用.Net 3.0的时候遇到了这样一个问题Csc.exe and delegate inference, or: Why C# has awkward syntaxCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--&gt;public ...</content></entry><entry><id>http://www.cnblogs.com/attraction/archive/2008/01/22/1049280.html</id><title type="text">Microsoft will end OEM and shrink-wrapped sales of Windows XP on June 30, 2008</title><summary type="text">当你登录到Infoworld的时候,你会在首页看到这样一个标语"Save XP Time To Act!",同时在旁边还有一个倒计时牌在一秒一秒的逝去,原来是因为"Microsoft plans to end most sales of Windows XP on June 30"微软打算通过减少Windows XP的销售来推动Vista的普及率.而那些钟爱windows XP的人们希望联合起来呼...</summary><published>2008-01-22T14:37:00Z</published><updated>2008-01-22T14:37:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2008/01/22/1049280.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2008/01/22/1049280.html"/><content type="text">当你登录到Infoworld的时候,你会在首页看到这样一个标语"Save XP Time To Act!",同时在旁边还有一个倒计时牌在一秒一秒的逝去,原来是因为"Microsoft plans to end most sales of Windows XP on June 30"微软打算通过减少Windows XP的销售来推动Vista的普及率.而那些钟爱windows XP的人们希望联合起来呼...</content></entry><entry><id>http://www.cnblogs.com/attraction/archive/2006/10/26/540113.html</id><title type="text">My AutoCompleteExtender</title><summary type="text"/><published>2006-10-25T17:27:00Z</published><updated>2006-10-25T17:27:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2006/10/26/540113.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2006/10/26/540113.html"/><content type="text"/></entry><entry><id>http://www.cnblogs.com/attraction/archive/2006/08/20/481843.html</id><title type="text">Windows Live Writer</title><summary type="text">首次使用windows live writer在cnblogs上发blog！</summary><published>2006-08-20T07:39:00Z</published><updated>2006-08-20T07:39:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2006/08/20/481843.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2006/08/20/481843.html"/><content type="text">首次使用windows live writer在cnblogs上发blog！</content></entry><entry><id>http://www.cnblogs.com/attraction/archive/2006/03/24/357284.html</id><title type="text">GRI-MindHarbor软件公司</title><summary type="text">GRI-MindHarbor公司现在中国大陆招聘DotNet软件工程师3人要求对面向对象技术有比较深入的了解了解web2.0的相关技术。英语阅读能力较强。工作经验不限，性别不限，学历本科。能力是我们考虑的第一位。如果你不能够完全满足我们的要求，但你是一个肯稳下心来学习的人，我们同样欢迎。经过初步筛选将先由美国直接安排电话面试。(如果您英语口语不佳，可安排在美国的华人与您进行电话面试。)工作地点：珠...</summary><published>2006-03-23T16:44:00Z</published><updated>2006-03-23T16:44:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2006/03/24/357284.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2006/03/24/357284.html"/><content type="text">GRI-MindHarbor公司现在中国大陆招聘DotNet软件工程师3人要求对面向对象技术有比较深入的了解了解web2.0的相关技术。英语阅读能力较强。工作经验不限，性别不限，学历本科。能力是我们考虑的第一位。如果你不能够完全满足我们的要求，但你是一个肯稳下心来学习的人，我们同样欢迎。经过初步筛选将先由美国直接安排电话面试。(如果您英语口语不佳，可安排在美国的华人与您进行电话面试。)工作地点：珠...</content></entry><entry><id>http://www.cnblogs.com/attraction/archive/2005/12/25/304119.html</id><title type="text">单表继承 (Single Table Inheritance)</title><summary type="text">概念 将类的继承层次表示为一个单表,表中的各列代表不同类中的所有域.说白了就是把含有继承关系的类的内容都保存到一个表中.当然为了区分类的层次,不至于找儿子却找到爹的尴尬局面,要增加一个字段来保存这个层次.运行机制在这个继承映射方案中,我们使用一个表包含某个继承层次中所有类的所有数据.每个类负责把与之相关的数据保存在表的一行中.数据库中其他不相关的列留空.在往内存中加载一个对象的时候,必须知道实例化...</summary><published>2005-12-24T18:22:00Z</published><updated>2005-12-24T18:22:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2005/12/25/304119.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2005/12/25/304119.html"/><content type="text">概念 将类的继承层次表示为一个单表,表中的各列代表不同类中的所有域.说白了就是把含有继承关系的类的内容都保存到一个表中.当然为了区分类的层次,不至于找儿子却找到爹的尴尬局面,要增加一个字段来保存这个层次.运行机制在这个继承映射方案中,我们使用一个表包含某个继承层次中所有类的所有数据.每个类负责把与之相关的数据保存在表的一行中.数据库中其他不相关的列留空.在往内存中加载一个对象的时候,必须知道实例化...</content></entry><entry><id>http://www.cnblogs.com/attraction/archive/2005/11/29/286559.html</id><title type="text">写给yzx110的一个实例,仅作参考!</title><summary type="text">1publicboolDBCommandWrapper(stringcommandText,OracleParameterCollectionParameters){2try{3this.dbCommand=newOracleCommand(commandText,(OracleConnection)this.dbConnection);45this.dbConnection.Open();678...</summary><published>2005-11-28T16:47:00Z</published><updated>2005-11-28T16:47:00Z</updated><author><name>Vincent</name><uri>http://www.cnblogs.com/attraction/</uri></author><link rel="alternate" href="http://www.cnblogs.com/attraction/archive/2005/11/29/286559.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/attraction/archive/2005/11/29/286559.html"/><content type="text">1publicboolDBCommandWrapper(stringcommandText,OracleParameterCollectionParameters){2try{3this.dbCommand=newOracleCommand(commandText,(OracleConnection)this.dbConnection);45this.dbConnection.Open();678...</content></entry></feed>
