2010-08-16 6 views
4

리피터에 DropDownList가 있습니다. 이 목록의 데이터 소스를 itembound 이벤트에 설정하고 selectedindex를 설정합니다. 디버깅 할 때 selectedindex가 설정되어 있지만 페이지가 모든 항목을로드 할 때 기본 항목이 선택됩니다.리피터의 드롭 다운리스트의 Selectedindex/selectedvalue가 작동하지 않습니다.

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     var ddl = (DropDownList)e.Item.FindControl("DataFeedItems"); 
     ddl.DataSource = FilterDropDownData(); 
     ddl.DataTextField = "ColumnName"; 
     ddl.DataValueField = "ColumnName"; 
     ddl.DataBind(); 
     ddl.SelectedValue = "Select"; 
     ddl.SelectedIndex = 28; 
    } 
protected DataTable FilterDropDownData() 
    { 
     var importedFeedColums = I make the table here; 
     DataRow newRow = importedFeedColums.NewRow(); 
     newRow[0] = "Selecteren"; 
     importedFeedColums.Rows.Add(newRow); 
     return importedFeedColums; 
    } 

내가 루게릭 병도 드롭 다운 목록의 데이터 바인딩을 사용하려고했으나이 didnt 한 일 중 하나 :

protected void DataFeedItems_DataBound(object sender, System.EventArgs e) 
    { 
     var ddl = (DropDownList) (sender); 
     ddl.SelectedValue = "Selecteren"; 
     ddl.Items[28].Selected = true; 

    } 

<asp:Repeater ID="Repeater1" runat="server" 
      onitemdatabound="Repeater1_ItemDataBound"> 
      <ItemTemplate> 
       <li> 
       <label><%# DataBinder.Eval(Container.DataItem, "ColumnName") %></label>      
        <asp:DropDownList ID="DataFeedItems" ClientIDMode="Static" runat="server" DataSource='<%# FilterDropDownData() %>' 
         DataTextField="ColumnName" DataValueField="ColumnName" OnDataBound="DataFeedItems_DataBound" > 
        </asp:DropDownList> 
        <input id="Hidden1" runat="server" clientidmode="Static" type="hidden" value='<%# DataBinder.Eval(Container.DataItem, "ColumnName") %>' /> 
       </li> 
      </ItemTemplate> 
     </asp:Repeater> 

내 코드입니다 나는 각 DropDownList의 selectedvalue와 텍스트를 얻을 수있는 양식을 게시합니다. 무엇이 잘못 되었습니까?

답변

1

FilterDropDownData()는 무엇을 반환합니까?

시도해 보셨습니까?

ddl.Items.FindByValue("Selecteren").Selected = true; 

또는

ddl.Items.FindByText("Selecteren").Selected = true; 
+0

어느 작동되지 않음 :( – Ivo

+0

당신은 뒤에 당신에게 전체 코드를 게시 할 수 및 전체 aspx 페이지는 또한 어떻게 FilterDropDownData()가 구현 호출입니다 –

+0

내가 좀 더 코드 – Ivo

1

드롭 다운 선택 여러 항목을 가질 수 없기 때문에이 방법은 실패합니다. 그리고 "Selected = true"를 설정하면 똑같이 수행됩니다.

선택한 항목을 설정할 수있는 유일한 방법은 DropDownList의 SelectedIndex 속성을 사용하는 것입니다.

예 : ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue("Selecteren"));

관련 문제