Как обойти asp.net автоматически генерируя идентификаторы, когда я использую jquery, который нуждается в идентификаторах? - PullRequest
0 голосов
/ 21 октября 2011

Я использую популярный плагин jquery Validate для проверки всех моих полей.Это прекрасно работает, когда поля ввода не работают на сервере и, следовательно, не переименовывают все идентификаторы и имена для ввода.

Мне интересно, есть ли другой способ выбора ввода в jquery, поэтому явсе еще можете использовать плагин.Ниже приведен jquery:

<script type="text/javascript">
jQuery.validator.messages.required = "";
$(document).ready(function () {
    $('#form1').validate({
        rules: {
            firstName: {
                required: true,
            },
        }
    });
});

В настоящее время, если я использую <asp:TextBox.../>, идентификатор будет выдан «ContentPlaceHolderBody_firstName», а имя будет «ctl00 $ ContentPlaceHolderBody $ firstName».

Я даже попытался заменить имя в jquery, чтобы отразить как идентификатор, так и имя, но безрезультатно.

Как лучше всего это обойти?Могу ли я добавить класс и выбрать этот путь?И если да, то как будет выглядеть селектор jquery?

Любая помощь приветствуется!Спасибо!

Ответы [ 6 ]

2 голосов
/ 21 октября 2011

Вы можете написать некоторый встроенный код на стороне сервера, например:

$('#form1').validate({
        rules: {
            <%= txtFirstName.ClientID %>: {
                required: true,
            },
        }
    });
1 голос
/ 21 октября 2011
0 голосов
/ 21 октября 2011

Добавьте класс к вашему элементу управления asp и затем выберите этот класс вместо идентификатора

0 голосов
/ 21 октября 2011

в .net 4.0 вы можете установить ClientIDMode="static" и иметь предсказуемые идентификаторы управления

, например

<asp:Label ID="Label1" runat="server" ClientIDMode="static" />

и в javascript вы можете иметь идентификатор на ваш выбор

$("#Label1").hide();
0 голосов
/ 21 октября 2011

Селектор jquery для класса будет $ (". Classname)

0 голосов
/ 21 октября 2011

Установить для свойства ClientIDMode статическое

http://msdn.microsoft.com/en-us/library/1d04y8ss.aspx

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