我正在尝试在代码后面创建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";
答案 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
}
希望这会有所帮助。 :)