Использование jquery с вложенными мастер-страницами - PullRequest
1 голос
/ 16 мая 2010

Может кто-нибудь показать мне, как использовать jquery на вложенной главной странице asp.net. У меня есть главная страница, где я добавил ссылку на библиотеку jquery, а также платформу для валидации. Затем я создал еще одну мастер-страницу с некоторыми стилями и создал страницу aspx на основе этой мастер-страницы.

Как я могу прикрепить структуру проверки к текстовым полям на моей странице?

Я пытался

         $("#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 *" 
                }
           }
        });

Однако ничего не происходит. Кто-нибудь может указать мне правильное направление?

Ответы [ 2 ]

1 голос
/ 16 мая 2010

Вы можете написать методы-оболочки, которые передают идентификаторы функциям jQuery, и вызывать эти методы либо с помощью RegisterStartupScript, либо с помощью встроенного JS на дочерних страницах:

Javascript:

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

.aspx:

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

где GetClientSelector возвращает строку, которая является селектором, либо просто ID, либо, возможно, некоторый набор классов, полученных от сервера. Или что-нибудь еще, действительно.

0 голосов
/ 16 мая 2010

Поскольку ASP.NET искажает идентификаторы, лучше всего просто установить классы CSS для элементов управления вашего сервера и получить к ним доступ таким образом:

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

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

Это не самый эффективный JS, поскольку вы выбираете по классам, а не по идентификаторам, но это избавит вас от головной боли от попыток работать с искаженными идентификаторами ASP.NET в WebForms.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...