2010-05-16 49 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或可能是一些服務器派生的類集。或者其他任何東西,真的。