Как ASP.NET вызывает события на клиенте?

1

Например, когда пользователь нажимает <button>, я знаю, что обработчик событий на стороне сервера выполнит.
Но как возникли события на стороне клиента? Поскольку начальная страница (с использованием GET) является чисто на стороне клиента, является ли событие, поднятое ?

Если да, значит ли это.aspx автоматически сгенерирует код на стороне клиента?

Например, у меня есть кнопка на странице.aspx:

 <asp:Button ID="btnCalculate" runat="server" Text="Calculate" Width="122px" OnClick="btnCalculate_Click" />

OnClick указывает, что это событие , но где я могу найти применимый код ?

2 ответа

5

<asp:{Control>}> - все серверные элементы управления, событие onclick, которое вы видите, не соответствует правильному представлению .

<asp:Button ID="btnCalculate" runat="server" Text="Calculate" Width="122px" OnClick="btnCalculate_Click" />

Это приведет к чему-то удаленно:

<input id="btnCalculate" type="submit" value="Calculate"/> 

который ссылается на обратный вызов (запрос post/get) на сервере, который затем вызывает btnCalculate_Click() определенный в коде View (.aspx.cs):

public void btnCalculate_Click(object sender, EventArgs e){
   ...
}

Для сравнения, этот код ASPX напрямую преобразуется в тот же код :

<button id="btnCalculate" onClick="btnCalculate_Click()"/>

Таким образом, вместо этого клиент (движок браузера) будет искать подходящую функцию (например, в вашем сайте site.js или любом другом предоставленном ресурсе ):

function btnCalculate_Click(){
    alert("This is client side scripting");
}
  • 2
    Вы не ошиблись.
0

Я думаю, вам нужно пересмотреть Client-Server-Paradigm.

Клиент делает запрос, затем сервер принимает этот запрос.
В результате сервер отправляет клиенту "ответ" (ответ), который затем получает его.

  • 0
    Я знаю это, но я не знаю, откуда OnClick (javascript), он генерируется оригинальным кнопочным управлением на aspx?
  • 0
    Да, событие при нажатии - это запрос, который запускается с клиента и получает ответ от сервера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню