2012-02-09 72 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