2012-09-20 5 views
0

есть способ вызова функции в asp.net с использованием C# из кода позади, когда нажата кнопка.Вызов функции на кнопке OnClick

Пример в коде позади я есть кнопка,

Button btnRemove = new Button(); 

btnremove.OnClientclick = Удалить (ID), что-то подобное ??

Я хочу, чтобы вызвать функцию

public void Remove(int ID) 
{ 

} 

Спасибо заранее !!

+1

You хотите вызвать метод нажатием кнопки? Почему бы не прикрепить его к серверному событию? Событие OnClick? –

ответ

4

стороне клиента

При использовании OnClientClick вызове метода Javascript

Ссылка: http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.button.onclientclick.aspx

стороне сервера

A Если вы хотите вызвать метод сервера вам могут использовать OnClick

Button1.Click += new EventHandler(this.Button1_Click); 

void Button1_Click (object sender, EventArgs e) 
{ 
    var control = (Button)sender; 
    Remove(control.Id); 
} 

B вы можете также переопределить ваш щелкнитеДелегировать

protected override void OnClick(EventArgs e) 
{ 
    Remove(this.Id); 
} 

Ссылка: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onclick.aspx

+1

Красивый и лаконичный. – Noel

+0

@Noel Спасибо за комментарий –

0

Хм ... вам сначала нужно различать выполнение на стороне клиента (JavaScript) и выполнение на стороне сервера (ASP.net).

Для выполнения на стороне клиента вам необходимо написать свою «функцию» в JavaScript и (как вы уже писали правильно) используйте свойство OnClientClick, чтобы зарегистрировать эту функцию.

Для выполнения на стороне сервера вам необходимо либо

  • опубликовать форму обратно в S.T. сервера запускается обработчик события на стороне сервера
  • использовать ajax для асинхронного вызова сервера (т. е. веб-метода на вашей странице ASPX или службе ASMX). Опять же, это связано с JavaScript
+0

Thats действительно хорошая информация для учащихся. Спасибо!! – Ram

0

Я должен был зарегистрировать buttonId (ASPX) как postbacktrigger (aspx.cs)

RegisterPostbackTrigger(lnkExcel1) 
Смежные вопросы