2012-09-03 11 views
11

新しいASP.NET 4.5の厳密に型指定されたデータバインディングを使用して、ジェネリックタイプ(ここではDictionary<string, string>)をリピーターにバインドするとします。強く型付けされたデータバインディングとジェネリック?

次に、RepeaterのItemTypeプロパティとしてKeyValuePair<string, string>を置く必要があります。

<asp:Repeater id="rpCategories" runat="server" ItemType="System.Collections.Generic.KeyValuePair<string, string>"> 

ここに明らかに問題があります:私はitemTypeにテキスト内<または>を使用することはできませんは!

これについてはどうすればよいですか?新しいデータバインディングモデルでは、ジェネリックの使用が可能ですか?

+0

背後

コード<と>とそれらをエスケープしようとしましたか?どんなエラーメッセージですか? – sisve

+0

ページを実行しているときに動作するかどうかは試していませんが、VSはエラーとしてマークし、Intellisenseも機能しません。 – magnattic

+0

いいえ、どちらも実行されません。エラーメッセージは明らかにVSがタイプを認識できません。 – magnattic

答えて

12

これは私の作品:

protected void Page_Load(object sender, EventArgs e) 
     { 
      rpCategories.DataSource = new Dictionary<string, string>() 
      { 
       {"1", "item"},{"2", "item"},{"3", "item"}, 
      }; 
     rpCategories.DataBind(); 
     } 

マークアップ

<asp:Repeater ID="rpCategories" runat="server" ItemType="System.Collections.Generic.KeyValuePair`2[System.String,System.String]"> 
     <ItemTemplate> 
      <asp:Label ID="Label1" runat="server" Text='<%# Item.Key %>'></asp:Label> 
     </ItemTemplate> 
    </asp:Repeater> 
+0

ありがとう、それは動作します! – magnattic

+0

これは私が長い間、感謝していた問題を解決しました。 –

関連する問題