0

Webフォームのユーザーコントロールはまったく新しいので、ユーザーコントロールを作成してデータを入力する方法について少し混乱しています。

for(int i = 0; i < Price.EpList.Count(); i++)
                        {

                            Price.EpList[i].Amount.ToString();
                            Price.EpList[i].Code.ToString();
                            Price.EpList[i].Desc.ToString();
                            Price.EpList[i].ID.ToString();

                        }

EpListは、各行にチェックボックスが付いた表形式でWebページに表示したい情報を含むリストです。

4

1 に答える 1

3

リピーターコントロールを見てください。リストをループする必要はありません。リストをリピーターにバインドし、繰り返されるアイテムごとに必要なhtmlテンプレートを定義するだけです。

http://www.w3schools.com/aspnet/aspnet_repeater.asp


編集:その記事はVisual Basicを使用しているので、C#の翻訳は次のとおりです。

このリピーターを想定すると:

<asp:Repeater runat="server" ID="uxEpList">
<ItemTemplate>
<%--Html goes here--%>
<%# Eval("Amount")%>
<%# Eval("Code")%>
<%# Eval("Desc")%>
<%# Eval("ID")%>   
</ItemTemplate>
</asp:Repeater>

コードビハインド:

uxEpList.DataSource = Price.Eplist;
uxEpList.DataBind();

リピーターを別のリピーターの中にネストする必要がある場合(コメントのDescプロパティを使用)、DataSourceプロパティを宣言的に設定することで、次のように行うことができます(一重引用符に注意してください)。

<asp:Repeater runat="server" ID="uxEpList">
<ItemTemplate>
    <asp:Repeater Datasource='<%# Eval("Desc")%>' runat="server">
    <ItemTemplate>
    //etc...
于 2012-05-02T16:31:35.263 に答える