Вызов ClientID из aspx - PullRequest
       13

Вызов ClientID из aspx

4 голосов
/ 24 февраля 2010

"") "/>

что не работает, ошибка говорит: Сообщение об ошибке синтаксического анализатора: теги сервера не могут содержать конструкции <% ...%>.

Есть какие-нибудь подходы, чтобы решить это? Спасибо;)

Ответы [ 3 ]

10 голосов
/ 24 февраля 2010

Вы вызываете событие JS (onchange), а не событие сервера, поэтому просто введите this.id.

<input type="checkbox" id="chbSaveState" runat="server" tabindex="3"  
onchange="SaveState(this.id)" /> 

Для ясности, this.id и <%=chbSaveState.ClientID%> вернут одно и то же значение в этом случае. Поскольку вы вызываете это для события chbSaveState, вы можете просто использовать здесь легко доступное свойство JS, а не <%=chbSaveState.ClientID%>, которое требует от сервера возврата идентификатора, сгенерированного сервером для этого элемента управления.

2 голосов
/ 24 февраля 2010

Вы можете сделать это, используя jQuery, как это:

var control = '#<%= chbSAveState.ClientID%>';
$(control).change(function(){
    SaveState($(this).id);
});
0 голосов
/ 24 февраля 2010

У меня нет большого опыта работы со средствами управления на стороне сервера, но возможно:

<input type="checkbox" id="chbSaveState" runat="server" tabindex="3" 
onchange="SaveState(chbSaveState.ClientID)" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...