I have created a repeater that gets 3 different values from a webbservice(Name, Surname and Number). Depending on if the Number I receive is 1 or 0 there are 2 buttons that are set Visible= true or false. (btnNumber0 and btnNumber1).
<asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rptHB_ItemDataBound" OnItemCommand="rptHB_ItemCommand">
<ItemTemplate>
<div>
<h1 class="click">
<asp:Label ID="lblName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Name").ToString() %>'></asp:Label>
<asp:Label ID="lblSurname" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Surname").ToString() %>'></asp:Label>
<asp:Label ID="lblNumber" runat="server" Visible="false" Text='<%# DataBinder.Eval(Container.DataItem, "Numer").ToString() %>'></asp:Label>
</h1>
<div class="expand">
<select id="optColor">
<option>Blue</option>
<option>Red</option>
<option>Yellow</option>
<option>Green</option>
<option>Black</option>
</select>
<asp:Button ID="btnNumber0" runat="server" Text="0"/>
<asp:Button ID="btnNumber1" runat="server" Text="1"/>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
The thing i cant get to work is to make a onClick function to my 2 button. Inside the OnCick I want to take the Name and Color(optColor) from the Person I select and send it back to my webbservice. Do i have to use OnItemCommand, if so can you help me? Or is it another way you can do it?
protected void Page_Load(object sender, EventArgs e)
{
GetInfo();
}
private void GetInfo()
{
rpt1.DataSource = client.SendInfo();
rpt1.DataBind();
}
private bool Getbutton(string ValueNumber)
{
return ValueNumber == "0";
}
protected void rptHB_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Label lblNewNumber = (Label)e.Item.FindControl("lblNumber");
Label lblNewName = (Label)e.Item.FindControl("lblName");
Button btnNewNumber0 = (Button)e.Item.FindControl("btnNumer0");
Button btnNewNumber1 = (Button)e.Item.FindControl("btnNumber1");
string Number = lblNewNumber.Text;
btnNewNumber0.Visible = GetButton(Number);
btnNewNumber1.Visible = !GetButton(Number);
}
protected void rptHB_ItemCommand(object source, RepeaterCommandEventArgs e)
{
/* ??? */
}