ASCXファイルに以下を含むユーザーコントロールを作成したいと思います。
...
<tr runat="server" ID="mytr">
<td runat="server" ID="myCell1"></td>
<asp:PlaceHolder runat="server" ID="myPlaceholder"></asp:PlaceHolder>
<td runat="server" ID="myCell2"></td>
</tr>
...
これにより、次のエラーが生成されます。
System.Web.UI.HtmlControls.HtmlTableCellCollectionには、「System.Web.UI.HtmlControls.HtmlTableCell」タイプのアイテムが必要です。「asp:PlaceHolder」のタイプは「System.Web.UI.WebControls.PlaceHolder」です。
その理由は、PlaceHolder
そのセルを動的に生成したいからです(たとえば、との間TD
を選択TH
したり、セルを作成するかどうかを選択したりします)。
これを行う簡単な方法はありますか?それとも、継承する独自のカスタムコントロールを作成する必要がありますHtmlTableCell
か?
特定のテーブル要素のビューステートが序数(子コントロールコレクションへのインデックス)によってキー設定されていることに気付きました。つまり、セルを動的に生成できない場合もあります。これに関する一般的なベストプラクティスはありますか?
また、常にTDを作成することも検討しましたが、それを非表示にするだけです。問題はrowspan
、前の行で使用することです。つまり、行が異なれば、セルの数も異なります。これは条件付きであり、ポストバック間で変更できます(行を有効/無効にすることにより)。