2013-02-18 105 views
0

我想從列表中構建的字典中填充下拉列表,例如列表是從事件類(在例如,它已被砍伐一點點):將字典(在列表中)綁定到gridview中的下拉列表

public class Events 
{ 

    public Events() 
    { 
     StartDate = new Dictionary<string, string>(); 
    } 

    [DataMember(Name = "eventId")] 
    public Guid EventId { get; set; } 

    [DataMember(Name = "eventName")] 
    public string EventName { get; set; } 

    [DataMember(Name = "startDate")] 
    public Dictionary<string, string> StartDate { get; set; } 
} 

然後實際的數據綁定:

protected void submitSearch_Click(object sender, EventArgs e) 
    { 
     if (IsValid) 
     { 

      IEnumerable<Events> events = EventProvider.FindEvents(eventName.Text); 
      eventSearchResults.DataSource = events; 
      eventSearchResults.DataBind(); 
     } 
    } 

在頁面我有:

<asp:TemplateField HeaderText="Start date"> 
     <ItemTemplate> 
      <p> 
       <asp:Label ID="lblStartDate" Text="Start month/year" runat="server" /><br /> 
       <asp:DropdownList ID="ddlStartDate" DataSource='<%# Eval("startDate") %>' runat="server" /> 
      </p>  
     </ItemTemplate> 

但是鍵和值都被添加到下拉列表中的值字段。我哪裏錯了?任何例子將非常感激。

回答

0

我認爲this link可以幫到您嗎?基本上,你必須定義像

DataValueField="listID" DataTextField="listName" SelectedValue='<%#Bind("listID") %>' 
+0

東西我猜它只是不知道如何做到這一點從字典(我真的不能從移開)列表內的情況。你幾乎需要寫:'runat =「server」/>當然這是行不通的。 – user2010212 2013-02-18 12:59:10

相關問題