2010-05-16 50 views
1

任何人都可以告诉我如何在asp.net嵌套的masterpage中使用jquery。我有我的主要页面,我已经添加了链接到jQuery的libaray和验证框架。然后我创建了另一个带有一些样式的主页,并基于该主页创建了一个aspx页面。使用jQuery与嵌套的主页

如何将验证框架附加到我的页面中的文本框?

我已经试过

  $("#aspnetForm").validate({ 
      rules: { 
       <%=txtPostCode.UniqueID %>: { 
        minlength: 2, 
        required: true 
       }, 
       <%=txtContactEmail.UniqueID %>: {       
        required: true, 
        email:true 
       } 
      }, messages: { 
       <%=txtPostCode.UniqueID %>:{ 
        required: "* Required Field *", 
        minlength: "* Please enter atleast 2 characters *" 
       } 
      } 
     }); 

但是什么也没有发生。任何人都可以将我指向正确的方向吗?

回答

0

因为ASP.NET轧液的ID的,最好的办法可能是只设置CSS类为您的服务器控件和访问他们的方式:

<asp:textbox id="Text1" cssclass="myText" runat="server" /> 

$('.myText').whatever(); 

这不是最有效的JS,因为你选择通过类而不是ID,但它会为您解决WebForms中ASP.NET错位ID的问题。

1

您可以编写通过ID来jQuery函数包装方法,并调用这些方法要么RegisterStartupScript或内联JS的子页面:

的Javascript:

function makejQueryOnMangledNamesLessPainful(firstSelector, secondSelector) 
{ 
    $(firstSelector).whatever(); 
} 

的.aspx:

<script> 
    makejQueryOnMangledNamesLessPainful('#<%=Thing.ClientID%>', 
             '<%=OtherThing.GetClientSelector()%>); 
</script> 

其中GetClientSelector返回一个字符串,它是一个选择器,或者只是一个ID或可能是一些服务器派生的类集。或者其他任何东西,真的。