2010-11-29 4 views
1

У меня есть несколько кнопок asp:, которые я создал динамически с помощью jQuery.Регистрация asp: обработчик события нажатия кнопки

Для каждого из них у меня есть OnClick="ibtn_Click".

Но по коду, я должен вручную зарегистрировать каждый из них на странице_Load..like .. button.Click += new EventHandler(this.ibtn_Click);.

Есть ли способ зарегистрировать этот обработчик автоматически? Или можно зарегистрировать его с помощью jQuery ajax?

Спасибо!

+3

Что вы имеете в виду, что создали asp: кнопки с jQuery? Отправьте код. – 2010-11-29 21:01:47

+0

Что-то вроде этого: $ ('

') .attr ("Идентификатор", nameTempTop) .appendTo (' DIV [ID = '+ namePrevTop +']'); – phillyville 2010-11-29 21:02:36

ответ

2

Вы не можете добавить веб-элементы управления ASP.NET в браузер клиента. ASP.NET преобразовывает эти <asp:button> тегов в обычный HTML, что-то вроде этого:

<input type="submit" name="Button1" value="Ok" id="Button1" /> 

Когда пользователь щелкает один из этих элементов управлений представляют, браузер отправляет запрос POST, который включает в себя кнопку он name как часть размещенных данных (который вы можете получить доступ через Form коллекции в ASP.NET):

if (this.IsPostBack && Request.Form["Button1"] != null) { 
    // do something if the user clicked Button1 
} 

ASP.NET автоматически связывает щелчки управления сервером к методам, указанным в атрибуте OnClick. Он вызывает метод после завершения Page.Load (подробнее см. «ASP.NET Page Life Cycle Overview»).

Если вы добавляете кнопки на клиенте, вы можете сделать все это самостоятельно. Например, вы можете «привязать» динамически генерироваться кнопку в Page_PreRender:

protected void Page_PreRender(object sender, EventArgs e) { 
    if (this.IsPostBack && Request.Form["Button1"] != null) { 
     // Call another method on the page 
    } 
} 

Наконец, в этот день и возраст, если это уместно, вы должны обязательно рассмотреть только вызов методов страницы через JQuery-х ajax. См. this excellent Encosia article для ознакомления с этой техникой.

0

Является ли ваша цель генерировать динамические кнопки asp.net для вызова кода? вы можете создать html кнопку «Отправить» (type = submit) и вызвать webMethods из javascript. Веб-методы не перенаправлены вам код C# за

Смежные вопросы