如何知道中继器中的哪个按钮被按下?

林肯·伯根森

我在.aspx文件中具有以下标记:

<asp:Repeater ID="ListOfAssignments" runat="server" OnItemDataBound="ListOfAssignments_ItemDataBound">
    <ItemTemplate>

        <asp:Label ID="AssignmentID" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Label ID="PathToFile" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Button ID="RemoveAssignment" runat="server" Text="Remove" OnClick="RemoveAssignment_Click"/>

    </ItemTemplate>
</asp:Repeater>

在相当标准的中继器控件中,有两个标签和一个按钮。中继器绑定到数据库,并使用数据库中的记录填充标签。

这是我的问题:对于中继器中的每个按钮,我都有一个click事件。当用户单击任何按钮时,将调用RemoveAssignment_Click方法。在click事件中,我想知道与用户单击的任何按钮相关联的两个标签的文本。

我的意思是,用这种方法:

protected void RemoveAssignment_Click(object sender, EventArgs e)
{
    //code goes here
}

我希望能够知道与单击的按钮相邻的标签的文本。我怎么做?

迈克·史密斯·德夫

您正在寻找的是Button.OnCommand方法

这使您可以在网页上创建多个Button控件,并以编程方式确定单击了哪个Button控件。

因此,在内部ListOfAssignments_ItemDataBound您可以将CommandArgument分配给按钮,其中的CommandArgument是要删除的文章的ID:

protected void ListOfAssignments_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        Button delButton = e.Item.FindControl("RemoveAssignment") as Button;
        delButton.CommandArgument = //set to the value of AssignmentID
        //rest of your code
    }
}

现在,您的按钮应该说使用新的OnCommand了:

<asp:Button ID="RemoveAssignment" OnCommand="RemoveAssignment" runat="server" Text="Remove" />

然后创建方法:

protected void RemoveAssignment(object sender, CommandEventArgs e)
{
    int articleIDToDelete = 0;
    if (Int32.TryParse((string)e.CommandArgument, out articleIDToDelete))
    {
        //delete the article with an ID = articleIDToDelete
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何对中继器中的列求和

来自分类Dev

如何在中继器控件中获取链接按钮生成的文本

来自分类Dev

单击按钮时如何访问中继器内的下拉列表中的数据

来自分类Dev

如何从中继器内部触发按钮事件?

来自分类Dev

中继器事件中的自定义单选按钮

来自分类Dev

使用jQuery迭代中继器中的单选按钮

来自分类Dev

如何在子中继器的 ItemCommand 事件中获取当前中继器

来自分类Dev

如何知道在detailCalloutAccessoryView中按下了哪个按钮

来自分类Dev

中继器中的JavaScript

来自分类Dev

如何知道Java的div中的按钮之间被按下的按钮

来自分类Dev

C#中继器动态按钮

来自分类Dev

ASP中继器按钮文本更改

来自分类Dev

中继器内的按钮Onclick

来自分类Dev

嵌套中继器内的按钮

来自分类Dev

中继器控件内的触发按钮

来自分类Dev

如何在中继器中显示基于值的指令

来自分类Dev

如何计算ASP中继器中的项目数?

来自分类Dev

如何计算ASP中继器中的项目数?

来自分类Dev

如何在中继器的hyperLink navigationUrl中传递参数

来自分类Dev

如何知道哪个用户按下了按钮

来自分类Dev

如何隐藏空的嵌套中继器?

来自分类Dev

如何使中继器结果逐行显示

来自分类Dev

中继器控件中的if语句

来自分类Dev

在中继器中显示数据

来自分类Dev

中继器评估中的选择条件

来自分类Dev

在中继器中设置下拉列表

来自分类Dev

嵌套中继器中的ItemDataBound

来自分类Dev

设置中继器中dropdownlist的值

来自分类Dev

Kentico 中继器中的 WHERE 状态