簡體   English   中英

從InnerHtml添加鏈接按鈕

[英]Add link button from InnerHtml

我有一個列表項,其中顯示了一個選項卡和一個鏈接按鈕:

<li runat="server" id="liActivityInvoices"><a href="#tabActivityInvoices">Invoices</a><asp:LinkButton runat="server" ID="btnLoadInvoice" OnClick="btnInvoiceActivity_Click"  CssClass="btnListSmall" Width="90px"></asp:LinkButton></li>

在此處輸入圖片說明

在其后面的代碼中搜索發票並獲取總收入。 然后更新列表項以在選項卡中顯示貨幣和收入:

liActivityInvoices.InnerHtml = "<a href=\"#tabActivityInvoices\">Invoices (" + Company.Current.DefaultCurrency + ": " + Convert.ToDecimal(ds.Tables[1].Rows[0]["TotalRev"]) + ")</a> <asp:LinkButton runat=\"server\" ID=\"btnLoadInvoice\" OnClick=\"btnInvoiceActivity_Click\"  CssClass=\"btnListSmall\" Width=\"90px\"></asp:LinkButton>";

在此處輸入圖片說明

顯示a href部分,但鏈接按鈕消失。 如何使用InnerHtml顯示鏈接按鈕?

LinkBut​​ton是一個服務器控件。 您無法使用內部html創建服務器控件。 您必須改為將該控件作為子控件添加到liActivityInvoices。

var anchor = new LiteralControl("<a href=\"#tabActivityInvoices\">Invoices (" + Company.Current.DefaultCurrency + ": " + Convert.ToDecimal(ds.Tables[1].Rows[0]["TotalRev"]) + ")</a>");
var lnkButton = new LinkButton
{
    ID = "btnLoadInvoice",
    CssClass = "btnListSmall",
    Width = new Unit("90px")
};
lnkButton.Click += btnInvoiceActivity_Click;
liActivityInvoices.Controls.Add(anchor);
liActivityInvoices.Controls.Add(lnkButton);

innerHTML是DOM元素的屬性,因此區分大小寫。 將代碼修改為liActivityInvoices.innerHTML = ...

您不能將ASP.NET服務器控件添加為字符串文字。

使用PlaceHolder來添加動態服務器控件,或者使用將該控件作為子控件添加到liActivityInvoices或者可以創建DivIndirizzo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM