国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
.Net驗證控件與自定義驗證合作無間
場景:
一個注冊表單,其間有.Net自帶的驗證控件,但有一些驗證必須得借助于另外的一些js,如驗證是否復(fù)選了注冊協(xié)議(這里為了說明,只舉這樣一個簡單的例子)。
這樣的話,會涉及到二次驗證,第一次可能是.Net驗證控件的驗證,第二次會認(rèn)證用戶有沒有復(fù)選注冊協(xié)議,如何讓這二者合作無間呢?
這里不得不提到.Net的Page_ClientValidate()函數(shù),該函數(shù)返回當(dāng)前Page頁中的表單有沒有通過Validate的驗證.


新建一個Page頁面,簡單的放一些控件

  1. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>  
  2.         <asp:Button ID="Button1" runat="server"   Text="Button"    
  3.             ValidationGroup="submit" CausesValidation="True"    
  4.             onclick="Button1_Click" />  
  5.         <input type="checkbox" id="checkbox" />我已閱讀注冊協(xié)議       
  6.         <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"    
  7.             ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="不能為空"    
  8.             ValidationGroup="submit"></asp:RequiredFieldValidator>  

頁面呈現(xiàn)

TextBox留空,點擊Button,會進(jìn)行一次驗證,當(dāng)在TextBox中輸入文本時,再點擊提交,驗證通過,引發(fā)OnClick事件,但用戶是否復(fù)選了注冊協(xié)議此處還未做判斷。

此時需要我們手寫驗證函數(shù)了
  1. <script type="text/javascript">   
  2.         function test() {   
  3.             var isCheck = document.getElementById('checkbox').checked;   
  4.             if (isCheck) {   
  5.           //Page_ClientValidate('submit'),這里有不同的ValidGroup,所以Page_ClientValidate傳遞是指定的GroupName   
  6.                 if (Page_ClientValidate('submit')) {   
  7.                     alert('驗證成功');   
  8.                     return true;   
  9.                 }   
  10.             }   
  11.             else {   
  12.                 alert('您必須同意注冊協(xié)議');   
  13.                 return false;   
  14.             }   
  15.   
  16.             return false;   
  17.         }   
  18.     </script>  

修改后的代碼
  1. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>  
  2.        <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="submit" CausesValidation="True"  
  3.            OnClientClick="return test();" OnClick="Button1_Click" />  
  4.        <input type="checkbox" id="checkbox" />我已閱讀注冊協(xié)議   
  5.        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"  
  6.            Display="Dynamic" ErrorMessage="不能為空" ValidationGroup="submit"></asp:RequiredFieldValidator>  

預(yù)覽頁面



到這里好像已經(jīng)結(jié)束了,但查看html源代碼會發(fā)現(xiàn):
  1. <input type="submit" name="Button1" value="Button"    
  2. onclick="return test();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "", true, "submit", "", false, false))" id="Button1" />  

Button1除了有return test()外還有WebForm_DoPostBackWithOptions這樣一段,很明顯WebForm_DoPostBackWithOptions是不會被執(zhí)行的,去掉這段也很簡單,
將Button1的CausesValidation設(shè)為false即可。

當(dāng)然,你也可以完全不用驗證控件來實現(xiàn)。
 
 
===== CSS文件內(nèi)容 =====
.tbl
{
 position:absolute;
 left:expression_r((document.body.clientWidth-this.offsetWidth)/2);
 top:expression_r((document.body.clientHeight-this.offsetHeight)/2);
}
===== /CSS文件內(nèi)容 =====
注意:table的style屬性不可以在設(shè)置有值。
 
40套div+CSS經(jīng)典后臺模板.rar
 
 
 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
button與驗證控件的矛盾
數(shù)字驗證表達(dá)式
ClientID、 <%=%>的用法
[jQuery]使用jQuery.Validate進(jìn)行客戶端驗證(高級篇
[翻譯]你或許還為聽說過的一些ASP.NET 2.0要訣 - 從這里開始出發(fā)....——lxinxuan‘s Blog - 博客園
ASP.NET注冊、跳轉(zhuǎn)以及后臺腳本注冊問題
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服