TextBoxes
コントロールをデータベースのアイテムに基づいて動的に追加しようとしています。これは私のasp:PlaceHolder
.aspx
中のページ私は、動的HTML
を作成し、そのHTMLがasp:PlaceHolder
にレンダリングしようとしているC#のコードからasp:TextBoxがasp内で動作していません:プレースホルダC#
<asp:PlaceHolder ID="PlaceHolderHTML" runat="server"></asp:PlaceHolder>
となりました。
これは私のC#のコードです:
StringBuilder data = new StringBuilder();
foreach (SPListItem item in collitem)
{
data.Append(@"
<tr>
<th class='accordionSection esEmplCardSectionHeader'>
<span id='lblSectionName'>
<asp:TextBox ID='TextBox" + item["ID"].ToString() + @"' runat='server'></asp:TextBox>
</span>
</th>
</tr>
}
PlaceHolderHTML.Controls.Add(new Literal { Text = data.ToString() });
が、ブラウザでTextBox
コントロールが表示されていません。だから、asp:PlaceHolder
に送信されたHTML内のtextbox
は、ブラウザがASP制御として、それを知っていないと、ブラウザに何も示されていないされているので、どのよう
:私はテキストボックスの要素をinpectとき、私は次の結果を見ていますこの問題を解決するために?
[サーバー側コントロールをリテラルに入れる方法は?](https://stackoverflow.com/questions/9101804/how-to-put-server-side-control-in-literal) – Laslos
ASPXサーバーサイドマークアップを追加し、エンジンが正しくレンダリングすることを期待してください。それはそれが動作する方法ではありません。できるだけコントロールを動的に追加しないようにするのが最善です。 – mason