如何从C#更改链接按钮的内部HTML asp.net?

eqoofvh9  于 2023-01-10  发布在  .NET
关注(0)|答案(1)|浏览(132)

我使用的是asp.net WebForms,我试图使用以下代码从C#动态更改LinkButton InnerHTML。

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();
}

问题是,LinkButton和HTML在2个不同的标签中生成,LinkButton的大小为0宽度和0高度。
关于如何在C#中动态改变链接按钮有什么想法吗?

hgc7kmma

hgc7kmma1#

在服务器端尝试以下代码:

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

它将创建如下所示的html:

<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>

相关问题