C# 如何使用值在代码隐藏中调用按钮OnCLick eventhandler?

C# 如何使用值在代码隐藏中调用按钮OnCLick eventhandler?,c#,asp.net,C#,Asp.net,我试图在代码隐藏中创建锚,并删除每个锚的按钮。我不知道是否可以为每个具有ID的链接调用事件处理程序,以便从数据库中删除指定的行。这就是我所做的。我创建了一个锚和一个ASp按钮,但不确定如何使用该ImageID调用它。可能吗?如果是,怎么做?提前多谢!!这是在C#,asp.net中 HtmlAnchor apdf = new HtmlAnchor(); apdf.ID = Guid.NewGuid().ToString("N"); string ImageID = ""; if (dsre

我试图在代码隐藏中创建锚,并删除每个锚的按钮。我不知道是否可以为每个具有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";

我希望这能对你有所帮助

 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
    }

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

<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" />

希望这有帮助。:)

不确定你到底问了什么,但是你可以通过读取点击按钮的id来知道点击了什么按钮,不要在代码中创建这些按钮。使用Repeater并创建命令按钮,使用Repeater.ItemCommand并设置CommandArgument。它更干净,使用更少的代码,更标准,更简单。(如果您愿意,也可以使用数据列表)。谢谢!它帮助我走了一半。是否可以在新的EventHandler(按钮点击)中发送一些东西,比如ImageID或其他东西?看看这个
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
}