Search code examples
c#asp.netasprepeater

asp repeater button text change


Good day, I want the text of the button inside the repeater to change dynamically based on what the sql selected values would have.

here's my code:

asp.cs

if (!IsPostBack) 
{
   string getEmp = "Select employeeid, photo, lastname, firstname, departmentname, designation,userType from tblEmployee e inner join tblDepartment d on d.departmentid=e.department";
   SqlCommand com = new SqlCommand(getEmp,con);
   con.Open();
   SqlDataReader dr = com.ExecuteReader();
   Button btnSet = (Button)FindControl("btnSet");
   if (dr.HasRows)
   {
      if (dr.Read())
      {
         if (btnSet != null)
         {
             if (dr["userType"].ToString() == "2")
             {
                btnSet.Text = "Set as Normal User";
             }
             else
             {
                btnSet.Text = "Set as Power User";
             }
         }
      } 
   }
   Repeater1.DataSource = dr;
   Repeater1.DataBind();
   dr.Dispose();
   con.Close();

aspx

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<asp:Button ID="btnSet" commandname="set" commandargument=<%# Eval  ("employeeid") %> runat="server" class="tiny success expand button"  Text="" />


Solution

  • try this its too much short and working

        <asp:Button ID="btnSet" commandname="set" commandargument=<%# Eval("employeeid") %> runat="server" class="tiny success expand button"  Text='<%# Eval("userType").ToString() == "2" ?"Set as Normal User" : "Set as Power User" %>' />
    

    let me know if you need any more help