使用通过的参数动态创建ASP按钮

时间:2014-01-13 12:22:25

标签: c# asp.net

我试图动态创建一组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"));

感谢您的帮助!

1 个答案:

答案 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到位,这似乎是一个开销。