2012-09-03 221 views
11

假設我想使用新的ASP.NET 4.5強類型數據綁定將泛型類型(此處爲Dictionary<string, string>)綁定到Repeater。強類型數據綁定和泛型?

然後,我必須將KeyValuePair<string, string>作爲Repeater的ItemType屬性。

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

這裏有一個明顯的問題:我不能ItemType的文字中使用<>

怎麼會這樣呢?新數據綁定模型可能以某種方式使用泛型?

+0

試圖與<和>逃跑呢?任何錯誤消息? – sisve

+0

我還沒有嘗試過,如果這可以在運行頁面時起作用,但VS將其標記爲錯誤,並且智能感知也不起作用。 – 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

這解決了我很長一段時間的問題,謝謝。 –