Как веб-элементы управления знают, какой метод следует использовать при возникновении события? - PullRequest
0 голосов
/ 18 августа 2010

У меня есть LinkButton в веб-элементе управления, и я хочу привязать событие на странице, где я использую этот веб-элемент управления.

Атрибут href LinkButton представлен ниже.

javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl00$CoreContent$Content$scale1", "", false, "", "/thema/fi/product/reviews.aspx", false, true))

Не запускается событие, которое я прикрепил на веб-странице.

У меня вопрос, как этот LinkButton должен знать, что он должен идти к методу события, который я связал.

Спасибо.

PS: я не спрашиваю, как связать событие с кнопкой ссылки.

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Это обрабатывается javascript-функцией __doPostBack, которая устанавливает скрытые поля __EVENTTARGET и __EVENTARGUMENT.Во время обработки на стороне сервера значения из этих полей извлекаются и выполняется поиск целевого элемента управления.Этот элемент управления должен реализовывать интерфейс IPostBackEventHandler, который определяет метод RaisePostBackEvent.Метод вызывает событие, и вызывается обработчик события.Для кнопки ссылки событие OnClick.

0 голосов
/ 18 августа 2010

Для нашего первого замечания о том, что событие кнопки likn не запускается.

Вы должны вызвать свою функцию javascript в событии onclientclick.

Пример:

<asp:LinkButton ID="LinkButton1" runat="server" 
        onclientclick="Javascript:alert(&quot;s&quot;);">LinkButton</asp:LinkButton>
    </form>
...