Содержание заполнителя Javascript объект ожидается ошибка - PullRequest
0 голосов
/ 29 января 2010

У меня есть следующий код, который до недавнего времени работал нормально и прекрасно!

tbxProdAC.Attributes.Add("onclick", "$('#" + GridView1.ClientID  + "').remove();
$('#" + radProdAC.ClientID  + "').attr('checked', true);
$('#" + ddlBuyer.ClientID  + "').val('--Choose Buyer--');
$('#" + ddlSub.ClientID  + "').val('--Choose Sub Category--');
$('#" + ddlProd.ClientID  + "').val('--Choose Product--');");

Однако с тех пор, как я ввел понятие заполнителей содержимого (из главной страницы), я повторяю ошибку «Ожидаемый объект».

Теперь я понимаю, почему это происходит, asp.net вносит изменения в имена элементов управления, чтобы учесть CPH, т.е. $('#ctl00_ContentPlaceHolder1_radBuyer').attr('checked', true);

Как мне решить проблему, эффективно «переименовав» мои элементы управления asp.net, чтобы учесть это?

1 Ответ

0 голосов
/ 30 января 2010

Пара вариантов ...

Во-первых, замените имена элементов управления сценарием, например <% = radProcAC.ClientID%>. Это немного грязно, но имеет преимущество в том, что его очень легко реализовать.

Во-вторых, запишите ClientID в javascript и выведите его на свою страницу с помощью RegisterClientScript. Так что на стороне клиента у вас будет что-то вроде этого:

var radProdACClientID = 'ctl00_ContentPlaceHolder1_radBuyer';
var ddlBuyerClientID = 'ctl100_ContentPlaceHolder1_ddlBuyer';

Тогда, очевидно, вы бы использовали эти переменные, а не необработанные имена элементов управления.

В любом случае, это очень распространенная проблема, и вы можете найти все виды статей, написанных об этом, с помощью небольшого поиска в Google.

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