2014-01-13 2 views
0
заданы параметрами

Im пытаюсь создать набор кнопок ASP C# динамически, что все называют то же событие по щелчку, что я в состоянии реализовать штраф, как так ....Создание ASP Кнопки Динамически с передаваемыми

Button updateClientPriceButton = new Button(); 
updateClientPriceButton.ID = "bttnUpdatePrice_" + row["company_name"].ToString(); 
updateClientPriceButton.Text = "Update"; 
updateClientPriceButton.Click += new System.EventHandler(updateClientPriceButton_Click); 

с ...

protected void updateClientPriceButton_Click(object sender, EventArgs e) 
{ 
    // Do something 
} 

Но как я посылаю arugment в типе строки этой функции также? Я пробовал ..

updateClientPriceButton.Click += new System.EventHandler(updateClientPriceButton_Click(object, EventArgs, "test_value")); 

Спасибо за любую помощь!

ответ

2

Это невозможно с событием Click. Однако кнопка имеет Command событие для этой цели:

updateClientPriceButton.Command += new System.EventHandler(updateClientPriceButton_Command); 
updateClientPriceButton.CommandName = "SomeName"; 
updateClientPriceButton.CommandArgument = "test_value"; 

И обработчик должен выглядеть следующим образом:

protected void updateClientPriceButton_Command(object sender, CommandEventArgs e) 
{ 
    // Do something with e.CommandName and e.CommandArgument 
} 

Другой способ заключается в создании у вас есть контроль, унаследованный от Button специальным событием на основе Button.Click и со специальными аргументами. Но имея Command на месте, это, кажется, накладные расходы здесь.

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