Проблема заключается в следующем:
У меня есть UserControl_1 внутри UserControl_2, а у UserControl_1 есть событие, на которое подписывается UserControl_2.Это событие вызывается при нажатии кнопки в UserControl_1.
Когда пользователь вручную нажимает эту кнопку, все в порядке, и событие хорошо перенаправляется в обработчик в UserControl_2, НО , когданажатие на эту кнопку выполняется через jQuery, событие не перенаправляется на UserControl_2.
Проблема заключается в том, что несмотря на то, что вызывается обработчик кнопки в UserControl_1, при попытке перенаправить событие на UserControl_2, обработчикnull, как будто ни один элемент управления не подписан на него.
Код, который маршрутизирует / раздувает событие в UserControl_1, выглядит следующим образом:
public event MyFileUploadCommandEventHandler UploadDone;
protected virtual void OnUploadDone(MyFileUploadCommandEventArgs e)
{
if (UploadDone != null)
{
UploadDone(this, e);
}
}
Здесь при вызове через click в jQuery обработчик UploadDoneвсегда равно нулю.
Мой метод jQuery, который я тестировал двумя способами, уже с одинаковыми результатами:
function DoneCallback() {
$("[id*='btnDoneCallback']").click();
}
и
function DoneCallback() {
__doPostBack('<%=btnDoneCallback.UniqueID%>', '');
}
В чем разница междупользовательский щелчок и событие щелчка jQuery, вызывающее такое поведение?
Спасибо!