更改后续按钮的backColor onClick

时间:2015-10-06 10:56:54

标签: c# asp.net button repeater

我有中继器按钮,我想在点击时更改背景颜色。 问题是我不知道如何识别单击哪个按钮,我无法通过onclick功能到达它。 只是为了说清楚 - 我想更改已单击的按钮。 它应该像一个“选中”按钮。

这些是按钮

<asp:Repeater ID="rptFillButtonCategory" runat="server">
    <ItemTemplate>
        <asp:Button ID="FillButton" runat="server" Width="100%" OnClick="ButtonSelectionFill" 
             CommandArgument='<%#DataBinder.Eval(Container.DataItem, "Id") %>' 
             Text='<%#DataBinder.Eval(Container.DataItem, "Name") + " for next version" %>'/>
    </ItemTemplate>
</asp:Repeater>

这是点击功能

public void ButtonSelectionFill(object o, EventArgs e)
{
    Button btn = ((Button)o);
    btn.BackColor = System.Drawing.Color.Red;
    DropCategory.SelectedValue = Convert.ToInt16(((Button)o).CommandArgument.ToString());
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这有效:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
    <ItemTemplate>
        <asp:Button ID="Button1" runat="server" 
            Text='<%#DataBinder.Eval(Container.DataItem, "Id") %>' OnClick="Button1_Click" />
    </ItemTemplate>
</asp:Repeater>

protected void Button1_Click(object sender, EventArgs e)
{
    Button b = (Button)sender;
    b.BackColor = System.Drawing.Color.Red;
}

enter image description here