2015-10-06 96 views
2

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

那些按钮

<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

这工作:

<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

+0

它不工作我一些如何。 –

+0

尝试使用仅包含中继器的单独的简单Web表单,并查看其中断位置。 – jsanalytics

+0

它对我没有多大帮助 –