繁体   English   中英

如何将 LinkButton InnerHTML 从 C# 更改为 asp.net?

[英]How to change LinkButton InnerHTML from C# asp.net?

我正在使用 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# 动态更改 LinkButton 的任何想法?

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

 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM