Вызов ClientID из aspx
"")" />
это не работает, ошибка говорит: Сообщение об ошибке Parser: серверные теги не могут содержать конструкции <%...%>.
Любые подходы, чтобы решить это? Спасибо;)
3 ответа
Вы вызываете событие 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%>
, который требует, чтобы сервер возвращал идентификатор, сгенерированный сервером для этого элемента управления.
Вы можете сделать это с помощью jQuery следующим образом:
var control = '#<%= chbSAveState.ClientID%>';
$(control).change(function(){
SaveState($(this).id);
});
У меня нет большого опыта работы с серверными элементами управления, но возможно:
<input type="checkbox" id="chbSaveState" runat="server" tabindex="3"
onchange="SaveState(chbSaveState.ClientID)" />