2017-06-21 6 views
2

からリンクボタンを追加します。これは、タブの通貨と収益を表示するには、リストの項目を更新します。は、私はそれがタブとリンクボタンが表示さリスト項目を持つinnerHTMLの

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

enter image description here

a href一部が表示されているが、リンクボタンが消えます。 InnerHtmlを使用してリンクボタンを表示するにはどうすればよいですか?

+0

を作成することができ、使用する

使用PlaceHolderはhttps://stackoverflow.com/questions/20053217/addingかもしれ-a-asp-control-to-inner-code-behind-within-innerhtml –

答えて

2

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); 
+0

子コントロールを追加するにはどうすればよいですか? – user123456789

+0

更新された回答。 – H77

+0

リンクボタンが表示されていますが、ボタンをクリックしたときに問題が発生しました。「未取得ReferenceError:btnInvoiceActivity_Clickが定義されていません」 – user123456789

1

innerHTMLは、DOM要素のプロパティであり、大文字と小文字を区別します。 コードをliActivityInvoices.innerHTML = ...

+0

ここのプロパティは、JavaScriptコントロールではなくサーバーコントロール(asp.net)です。 – H77

0

として変更します。ASP.NETサーバーコントロールを文字列リテラルとして追加することはできません。この1が重複している動的なサーバーコントロールを追加したり、liActivityInvoicesに子コントロールとしてコントロールを追加したり、DivIndirizzo

関連する問題