0

I'm using asp.net WebForms and I'm trying to to change a LinkButton InnerHTML dynamically from C# using this code.

protected void Page_Load(object sender, EventArgs e)
{
    string connStr = ConfigurationManager.ConnectionStrings["iWork"].ToString();
    SqlConnection conn = new SqlConnection(connStr);

    SqlCommand cmd = new SqlCommand("AvailableCompanies", conn);
    cmd.CommandType = CommandType.StoredProcedure;

    conn.Open();

    SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    while (rdr.Read())
    {
        string companyName = rdr.GetString(rdr.GetOrdinal("name"));
        string email = rdr.GetString(rdr.GetOrdinal("email"));
        string vision = rdr.GetString(rdr.GetOrdinal("vision"));
        string domain = rdr.GetString(rdr.GetOrdinal("domain_name"));
        string field = rdr.GetString(rdr.GetOrdinal("field_of_specialization"));
        string type = rdr.GetString(rdr.GetOrdinal("type"));
        string address = rdr.GetString(rdr.GetOrdinal("address"));

        LinkButton btn = new LinkButton();
        btn.Click += new EventHandler(company);

        HtmlGenericControl html = new HtmlGenericControl();
        html.InnerHtml = "<div class='list-group'>" +
                        "<a href=''  runat='server' onServerClick='company' class='list-group-item active'>" +
                        "<h4 class='list-group-item-heading'>" + companyName + "</h4>" +
                        "<p class='list-group-item-text'><strong>Email: </strong>" + email + "</p>" +
                        "<p class='list-group-item-text'><strong>Vision: </strong>" + vision + "</p>" +
                        "<p class='list-group-item-text'><strong>Domain: </strong>" + domain + "</p>" +
                        "<p class='list-group-item-text'><strong>Field: </strong>" + field + "</p>" +
                        "<p class='list-group-item-text'><strong>Type: </strong>" + type + "</p>" +
                        "<p class='list-group-item-text'><strong>Address: </strong>" + address + "</p></a>" +
                        "</div>"; ;

        btn.Controls.Add(html);
        companies.Controls.Add(btn);
    }

    conn.Close();
}

The problem is, The LinkButton and the HTML are generated in 2 different tags, with the LinkButton having a size of 0 width and 0 height.

any ideas on how to change the LinkButton dynamically from C#?

George
  • 69
  • 1
  • 8

1 Answers1

0

Try the below code in server side:

 btnDeleteMOB.Text = "<span aria-hidden=\"true\" class=\"glyphicon glyphicon glyphicon-trash\"></span>&nbsp;Close File";

It will create html like below:

<asp:LinkButton ID="btnDeleteMOB" runat="server" OnClick="btnDeleteMOB_Click" CssClass="btn btn-warning">
<span aria-hidden="true" class="glyphicon glyphicon glyphicon-trash"></span>&nbsp;Close File </asp:LinkButton>
the-a-monir
  • 147
  • 1
  • 10