【问题标题】:Change backColor of Repeater Button onClick更改中继器按钮 onClick 的背景颜色
【发布时间】:2016-12-12 16:41:03
【问题描述】:

我有中继器按钮,我想在点击时更改它们的背景颜色。 问题是我不知道如何识别单击了哪个按钮,并且我无法通过 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());
}

感谢您的帮助。

【问题讨论】:

    标签: c# asp.net button repeater


    【解决方案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;
    }
    

    【讨论】:

    • 在一个单独的、简单的网络表单中尝试它,只包含转发器,看看它在哪里中断。
    • 对我帮助不大
    • 表示背景色不变。
    • 你能看到按钮吗?
    • Visual Studio 的Output 窗口中是否抛出异常?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 2015-04-03
    相关资源
    最近更新 更多