2012-05-02 13 views
0

webformsユーザーコントロールの新機能です。ユーザーコントロールを作成し、その上にデータを入力する方法について少し混乱しています。asp.net Webユーザーコントロールwithループ

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は、ウェブページに表形式で各行にチェックボックスを付けて表示する情報を含むリストです。

+0

このサンプルを呼んでいますか? –

+0

default.aspxのコードの背後に –

答えて

3

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

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


EDIT:

このリピーターと仮定:

uxEpList.DataSource = Price.Eplist; 
uxEpList.DataBind(); 
:背後にあるコードでは

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

をその記事では、Visual Basicを使用していますので、ここでC#の翻訳です


あなたは(あなたのコメントからDESCプロパティを使用して)別の1の内側に巣にリピータが必要な場合は、(単一引用符に注意してください)宣言DataSourceプロパティを設定することで、このようにそれを行うことができます。

<asp:Repeater runat="server" ID="uxEpList"> 
<ItemTemplate> 
    <asp:Repeater Datasource='<%# Eval("Desc")%>' runat="server"> 
    <ItemTemplate> 
    //etc... 
+0

おかげさまで、ありがとうございます。Price.EpList [i] .Desc [j] .Item; Price.EpList [i] .Desc [j] .ID; Price.EpList [i ] .Desc [j] .Unit; EpList内に入れ子リストがあり、それをリピータに表示する方法 –

+0

リピータも入れ子にすることができます。コードを例で更新します。 – mafue

+0

ネストされたリピータで動作させることができません –

関連する問題