2012-02-09 70 views
1

我有一些.aspx頁面和一個母版頁。我想爲.aspx頁面上的所有控件提供客戶端驗證。對於這個我使用jQuery驗證。(上papermashup.com教程由阿什利驗證的番茄醬插件)jQuery驗證不能在asp .net中的母版頁上工作

它可以正常工作的.aspx頁面上的「沒有」母版頁。 但是,當我在母版頁上使用相同的代碼&鏈接文件,那麼它不起作用。

沒有母版頁代碼代碼與母版頁

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="validation_demo.aspx.cs" Inherits="webpages_validation_demo" %> 
<!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> 
    <link rel="stylesheet" type="text/css" media="screen" href="../css/jquery.ketchup.css" /> 
<script type="text/javascript" src="../js/jquery.min.js"></script> 
<script type="text/javascript" src="../js/jquery.ketchup.js"></script> 
<script type="text/javascript" src="../js/jquery.ketchup.messages.js"></script> 
<script type="text/javascript" src="../js/jquery.ketchup.validations.basic.js"></script> 
<link rel="shortcut icon" href="../../Styles/favicon.ico" /> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <link href="../CSS/jquery.ketchup.css" rel="stylesheet" type="text/css" /> 
    <link href="../CSS/style.css" rel="stylesheet" type="text/css" /> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <link href="../CSS/style_menu.css" rel="stylesheet" type="text/css" /> 
    <link href="../CSS/Form_style.css" rel="stylesheet" type="text/css" /> 
    <link href="../CSS/StyleSheet2.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="../../image/jquery.js"></script> 
    <link href="../CSS/modalbox.css" rel="stylesheet" type="text/css" /> 
    <script src="../Js/CommonFunctions.js" type="text/javascript"></script> 
    <script src="../Js/CommonValidations.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#signup').ketchup(); 
    }); 
</script> 
</head> 
<body> 
    <form action="" runat="server" method="post" id="signup"> 
    <div style="margin-left:300px;margin-top:50px;"> 
      <input type="text" class="validate(required ,number, minlength(10) ,maxlength(10))" name="number" /> 
    </div> 
    </form> 
</body> 
</html> 

母版頁:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Master_demo.master.cs" Inherits="webpages_Master_demo" %> 

    <!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> 
     <asp:ContentPlaceHolder id="head" runat="server"> 
     </asp:ContentPlaceHolder> 
      <link rel="stylesheet" type="text/css" media="screen" href="../css/jquery.ketchup.css" /> 
    <script type="text/javascript" src="../js/jquery.min.js"></script> 
    <script type="text/javascript" src="../js/jquery.ketchup.js"></script> 
    <script type="text/javascript" src="../js/jquery.ketchup.messages.js"></script> 
    <script type="text/javascript" src="../js/jquery.ketchup.validations.basic.js"></script> 
    <link rel="shortcut icon" href="../../Styles/favicon.ico" /> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
     <link href="../CSS/jquery.ketchup.css" rel="stylesheet" type="text/css" /> 
     <link href="../CSS/style.css" rel="stylesheet" type="text/css" /> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
     <link href="../CSS/style_menu.css" rel="stylesheet" type="text/css" /> 
     <link href="../CSS/Form_style.css" rel="stylesheet" type="text/css" /> 
     <link href="../CSS/StyleSheet2.css" rel="stylesheet" type="text/css" /> 
     <script type="text/javascript" src="../../image/jquery.js"></script> 
     <link href="../CSS/modalbox.css" rel="stylesheet" type="text/css" /> 
     <script src="../Js/CommonFunctions.js" type="text/javascript"></script> 
     <script src="../Js/CommonValidations.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#signup').ketchup(); 
     }); 
    </script> 
    </head> 
    <body> 
    <form action="" runat="server" method="post" id="signup"> 
     <div> 
      <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">   
      </asp:ContentPlaceHolder> 
     </div> 
</form> 
    </body> 
    </html> 

aspx pge with master page: 

    <%@ Page Title="" Language="C#" MasterPageFile="~/webpages/Master_demo.master" AutoEventWireup="true" CodeFile="demo_validation1.aspx.cs" Inherits="webpages_demo_validation1" %> 

    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
    </asp:Content> 
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#signup').ketchup(); 
     }); 
    </script> 
    <div style="margin-left:300px;margin-top:50px;"> 
       <input type="text" class="validate(required ,number, minlength(10) ,maxlength(10))" name="number" /> 
    </div> 
    </asp:Content> 

回答

1

我認爲你缺少你的母版的表單元素與註冊的ID

- 更新

OK

更改您輸入以下

<input type="text" data-validate="validate(required ,number, minlength(10) ,maxlength(10))" name="number" /> 

重新下載這裏的番茄醬插件

https://github.com/mustardamus/ketchup-plugin/downloads

,並使用下面的行

<script type="text/javascript" src="js/jquery.ketchup.all.min.js"></script> 

,而不是

<script type="text/javascript" src="../js/jquery.ketchup.js"></script> 
    <script type="text/javascript" src="../js/jquery.ketchup.messages.js"></script> 
    <script type="text/javascript" src="../js/jquery.ketchup.validations.basic.js"></script> 

這對我有用。

+0

在給予formid註冊後仍然不起作用。 – pallavisahane 2012-02-09 06:07:16

+0

@ pallavisahane請參閱上面的更新 – SCB 2012-02-09 06:20:40

+0

謝謝...現在驗證工作正常,但CSS無法正常工作。 – pallavisahane 2012-02-09 07:19:57