1

aspx.cs ファイルから .aspx ListView (LayoutTemplate と ItemTemplate を含む) をコピーするにはどうすればよいですか? .aspx.cs は、DataBind() を使用して値をページに表示します。

だから本質的に私はこれを変えたい:

<asp:ListView ID="EvalAnswerList" OnItemDataBound="EvalAnswerList_ItemDataBound" runat="server">
            <LayoutTemplate>
                <table cellpadding="2" width="640px" border="1" runat="server" class="altRows" id="tblProducts">
                    <tr id="Tr1" runat="server">
                        <th id="Th1" runat="server">Question
                        </th>
                    </tr>
                    <tr runat="server" id="itemPlaceholder" />
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr id="Tr2" runat="server">
                    <td>
                        <asp:Label ID="QuestionTextLabel" Font-Bold="true" runat="server" />
                    </td>
                </tr>
            </ItemTemplate>
</asp:ListView>

これに:

<asp:ListView ID="EvalAnswerList" OnItemDataBound="EvalAnswerList_ItemDataBound" runat="server">
            <LayoutTemplate>
                <table cellpadding="2" width="640px" border="1" runat="server" class="altRows" id="tblProducts">
                    <tr id="Tr1" runat="server">
                        <th id="Th1" runat="server">Question
                        </th>
                    </tr>
                    <tr runat="server" id="itemPlaceholder" />
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr id="Tr2" runat="server">
                    <td>
                        <asp:Label ID="QuestionTextLabel" Font-Bold="true" runat="server" />
                    </td>
                </tr>
            </ItemTemplate>
</asp:ListView>
<asp:ListView ID="EvalAnswerList" OnItemDataBound="EvalAnswerList_ItemDataBound" runat="server">
            <LayoutTemplate>
                <table cellpadding="2" width="640px" border="1" runat="server" class="altRows" id="tblProducts">
                    <tr id="Tr1" runat="server">
                        <th id="Th1" runat="server">Question
                        </th>
                    </tr>
                    <tr runat="server" id="itemPlaceholder" />
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr id="Tr2" runat="server">
                    <td>
                        <asp:Label ID="QuestionTextLabel" Font-Bold="true" runat="server" />
                    </td>
                </tr>
            </ItemTemplate>
</asp:ListView>

このコピーは aspx.cs ファイルで行う必要があります。明らかに、これとまったく同じになるわけではありませんが、私がやろうとしていることのアイデアをお伝えしたいと思います. 私は言ってみました:

ListView test = new ListView();
PlaceHolder.Controls.Add(test);
test = EvalAnswerList;

これを test.DataBind() で使用しようとしましたが、機能しません。

4

2 に答える 2