2015-01-01 3 views
1

C 번호와 .ASPX에 정의 된 기존의 드롭 다운 목록을 결합하는 방법 :다음과 같이 내가 디자인 페이지에서 드롭 다운 목록을

<asp:DropDownList ID="ddlArtList" runat="server"> 
    <asp:ListItem Value="95">Select</asp:ListItem> 
    <asp:ListItem Value="1">1</asp:ListItem> 
    <asp:ListItem Value="2">2</asp:ListItem> 
    <asp:ListItem Value="3">3</asp:ListItem> 
    <asp:ListItem Value="4">4</asp:ListItem> 
    <asp:ListItem Value="5">5</asp:ListItem> 
    <asp:ListItem Value="6">6</asp:ListItem> 
</asp:DropDownList> 

이 위 때때로 C#에서 다른 값으로 대체되는 항목의에 따라 요구 사항. 하지만 결국 위의 listitems 얻을 C#의 도움으로 위의 기본 항목을 바인딩 할.

알고 싶습니다. C#에서 드롭 다운 목록 (.aspx)을 바인딩 할 수있는 기본 제공 방법이나 속성이 있습니까? 이를 사용하지 않고

: ddlArtList.Items.Add ("1) 사전에 등 등

감사

답변

2

AppendDataBoundItems

에서 .aspx 코드 사용 :

<asp:DropDownList ID="ddlArtList" AppendDataBoundItems="True" runat="server"> 
    <asp:ListItem Value="95">Select</asp:ListItem> 
    <asp:ListItem Value="1">1</asp:ListItem> 
    <asp:ListItem Value="2">2</asp:ListItem> 
    <asp:ListItem Value="3">3</asp:ListItem> 
    <asp:ListItem Value="4">4</asp:ListItem> 
    <asp:ListItem Value="5">5</asp:ListItem> 
    <asp:ListItem Value="6">6</asp:ListItem> 
</asp:DropDownList> 
.

서버 측 :

ddlArtList.AppendDataBoundItems="True" 
+0

값이 다른 값보다 우선합니다. 실제로 모든 값은 드롭 다운 목록에 바인딩됩니다. –

+0

@Pranav는 코드에 바인딩 또는 새 항목 추가 방법을 코드에 표시 할 수 있습니다. –

+0

ClientSide : aspx 또는 html 쪽입니다. asp : DropDownList ID = "ddlArtList"AppendDataBoundItems = "True"... 서버 쪽 코드 – Adil

2

먼저 페이지로드 중에 세션의 기본 목록을 유지할 수 있습니다 -

if(!isPostback) 
{ 
    ListItem[] items = new ListItem[ddlArtList.Items.Count]; 
    ddlArtList.Items.CopyTo(items, 0); 
    Session["ddlArtList"] = items; 
} 

을 이제 목록을 재설정 할 때 -

if(Session["ddlArtList"] != null) 
{ 
    ListItem[] items = Session["ddlArtList"] as ListItem[]; 
    ddlArtList.Items.Clear(); 
    ddlArtList.Items.AddRange(items); 
} 
0

당신이 기본에 추가하려면 목록에서 제공 한대로 마크 업을 사용하여 기본 목록을 설정하십시오. 이미 언급 한 것처럼 AppendDataBoundItems를 true로 설정해야합니다.

<asp:DropDownList ID="ddlArtList" runat="server" AppendDataBoundItems="true"> 
    <asp:ListItem Value="95">Select</asp:ListItem> 
    <asp:ListItem Value="1">1</asp:ListItem> 
    <asp:ListItem Value="2">2</asp:ListItem> 
    <asp:ListItem Value="3">3</asp:ListItem> 
    <asp:ListItem Value="4">4</asp:ListItem> 
    <asp:ListItem Value="5">5</asp:ListItem> 
    <asp:ListItem Value="6">6</asp:ListItem> 
</asp:DropDownList> 

코드 숨김에서는 추가 된 항목에 데이터 소스를 설정하고 DataBind를 호출 할 수 있습니다. 그러면 해당 항목이 드롭 다운 목록에 추가됩니다.

ddlArtList.DataSource = new List<int>{ 10, 11, 12 }; // replace with actual data source you are using 
ddlArtList.DataBind(); 

귀하의 모든 요구에 따라, 당신은 다른 DropDownList로 또는 어떤에서 버튼 클릭 또는 선택으로, 페이지의 Load 이벤트 나 다른 이벤트 핸들러 내부에 이러한 추가 항목을 추가 할 수 있습니다.

+0

을 목록을 드롭 다운 목록에 바인딩하도록 업데이트했습니다. Datatextfield 및 값 필드가 필요합니다 ... –

+0

아니요. Visual Studio에서이 작업을 수행했지만 정상적으로 작동합니다. –

관련 문제