我试图动态创建一组ASP C#按钮,这些按钮在点击时都会调用相同的事件,我可以像这样实现....
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
}
但是我如何将字符串类型的句子发送给此函数呢?我试过..
updateClientPriceButton.Click += new System.EventHandler(updateClientPriceButton_Click(object, EventArgs, "test_value"));
感谢您的帮助!
答案 0 :(得分:2)
Click
事件无法做到这一点。但是Button为此目的有一个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
到位,这似乎是一个开销。