如何使用值调用后面的代码中的Button OnCLick事件处理程序?

时间:2012-04-18 21:45:40

标签: c# asp.net

我正在尝试在代码后面创建Anchor,并为每个Anchor删除按钮。我不知道我是否可以使用ID为每个链接调用一个事件处理程序,这样我就可以删除从数据库中指定的行。这就是我所做的。我创建了一个锚点和一个ASp按钮但不知道如何使用该ImageID调用它。可能吗?如果是这样如何?非常感谢提前!!这是在C#,asp.net。

 HtmlAnchor apdf = new HtmlAnchor();
 apdf.ID = Guid.NewGuid().ToString("N");
 string ImageID = "";
 if (dsreport != null && dsreport.Tables[0].Rows.Count > 0)
 {
      apdf.InnerText = dsreport.Tables[0].Rows[0]["ImageName"].ToString();
      apdf.Attributes.Add("style", "font-weight: bold; font-size: 13px; margin: 0px;    font-family: Arial; color: #1e7c9b; text-decoration: underline");
      apdf.Target = "_blank";
      ImageSalesID = dsreport.Tables[0].Rows[0]["ImageID"].ToString();
      apdf.HRef = "PDFdownload.aspx?ID=" + ImageID;

 }   
 Button btnDelete = new Button();
 btnDelete.ID = Guid.NewGuid().ToString("N");
 btnDelete.OnClick += Eventhandler;
 btnDelete.Text = "Delete";

2 个答案:

答案 0 :(得分:2)

我希望这可能会以某种方式帮助你

 Button btnDelete = new Button();
    btnDelete.Click += new EventHandler(button_Click);

    protected void button_Click (object sender, EventArgs e)
    {
        Button button = sender as Button;
        string buttonid = button.ID.ToString()
        // identify which button was what row to update based on id clicked and perform necessary actions
    }

答案 1 :(得分:0)

从我可以收集的内容中,您按下一个按钮,然后想要删除与所述按钮相关的内容;如果是这种情况,我建议在按钮上使用CommandArgument属性。您还可以指定CommandName,这有助于确定要执行的操作类型。这是一个简单的例子:

<asp:Button ID="btnDelete" runat="server" CommandName="DeleteRow" CommandArgument="1" Text="Delete Row 1" OnClick="DeleteRow" />
<asp:Button ID="btnDelete" runat="server" CommandName="DeleteRow" CommandArgument="2" Text="Delete Row 2" OnClick="DeleteRow" />
<asp:Button ID="btnDelete" runat="server" CommandName="DeleteRow" CommandArgument="3" Text="Delete Row 3" OnClick="DeleteRow" />

所有3个按钮都会触发相同的事件。然后在实际事件本身内,您可以通过将其作为Button进行检查来检查命令参数在发件人身上的内容,就像这样。

protected void DeleteRow(object sender, EventArgs e)
{
    var buttonClicked = sender as Button;
    var rowId = buttonClicked.CommandArgument;
    var action = buttonClicked.CommandName;

    // do something depending on the action and the argument
}

希望这会有所帮助。 :)