2012-09-03 5 views
1

Cascading dropdown using ASP.Net캐스 케이 딩 드롭 다운 잘

안녕을 작동하지 않습니다. 첨부 된 스크린 샷을 참조하십시오. 페이지로드

  1. 가 나는 두 번째 드롭 다운 '카테고리'채우기하고있는 제품 드롭 다운의 선택에 따라
  2. 제품/서비스의 첫 번째 드롭 다운로드 오전 : 이것은 내가 뭐하는 거지입니다. 이 일이 일어나도록 데이터베이스 호출을 만들고 있습니다.
  3. 카테고리 선택에 따라 세 번째 가격 드롭 다운이 채워집니다. 이 드롭 다운에 대한 정보를 얻기 위해 데이터베이스 호출을하고 있습니다.

  4. 세 번째 (가격) 드롭 다운 선택에 따라 패널을 숨기거나 표시하고 있습니다.

각 드롭 다운은 포스트베이스를 호출하여 데이터베이스를 호출하여 이후 드롭 다운에 대한 세부 정보를 가져옵니다.

처음 실행하는 동안 모든 것이 작동하는 것 같지만 드롭 다운 조합을 시도하면 문제가 발생합니다. 나는 이후 실행 한 후 다른 Dropdown1에서 옵션 2

  • 을 선택하면 한 번 사라지지 않는 렌더링

    1. 패널, 값이 각 후 추가 다시 게시물 : 다음은 문제가 나는 데입니다. 예를 들어, 제품/서비스 드롭 다운에 "장난감 자동차"라는 제품이있는 경우, 이제 두 번 표시됩니다.

    2. 사용자가 기본 옵션 "제품 선택", "범주 선택"등을 선택하는 경우 전체 계층 구조를 재설정해야합니다. 예를 들어 제품 드롭 다운의 이전 선택 항목이 "장난감 자동차"이고 이제는 기본 옵션 인 "제품 선택"을 선택합니다. "카테고리", 가격 및 패널 가시성을 재설정해야합니다.

    이 작업을 수행하는 방법에 대해 알려주십시오.

    도움 주셔서 감사합니다.

  • +0

    page_load 이벤트 코드를 표시하십시오. Ispostback 플래그를 확인하지 않았습니까? – SMK

    답변

    0

    음주 다음 것들

    1) 두 번째 및 세 번째 드롭 사용자까지 비활성화되어야 그러면 첫 번째 드롭 다운을 선택한 사용자가 제 드롭 다운 메뉴를 선택하면 다음 다운 세번째 드롭을 사용 두번째 드롭을 사용.

    2) 다시 게시 할 때 DropDownList의 항목을 지우고 다시 데이터 소스에 바인딩합니다. dropdownlist의 Clear 메소드를 호출하여 DropDownList를 삭제 한 후 각 드롭 다운에 대한 함수를 작성하고 PostBack에서 호출하기 만하면됩니다.

    3) 전체 계층을 재설정하려면 모든 드롭 다운의 SeletecedIndex를 0 또는 -1로 설정하십시오.

    +1

    입력에 대해 감사합니다. 내가 이것을 시도하자. –

    1

    세에 DropDownLists

    1

    당신은 AutoPostBack을

    2 당신은 정의 = "true"로 설정 당신은이 전략 각각에

    If(! IsPostBack) 
    { 
        //Bind dropdownlist 
    } 
    

    과를 Page_Load을 정의해야합니다

    <asp:dropdownlist id="ddl1" runa="server" Autopostback="true" onselectindexChanged="ddl1_selectindexChanged"/> 
    
    <asp:dropdownlist id="ddl2" runa="server" Autopostback="true" onselectindexChanged="ddl2_selectindexChanged"/> 
    
    <asp:dropdownlist id="ddl3" runa="server" Autopostback="true" onselectindexChanged="ddl3_selectindexChanged"/> 
    

    OnSelectIndexChanged selectindexChanged, 값 가져 오기 및 데이터베이스에서 선택 실행, d 드롭 다운 목록을 바인드하십시오.

    void ddl1_selectindexChanged(Object sender, EventArgs e) 
    { 
    
    //Get Selected Values 
    
        //For examlpe you can use SelectedValue property 
        var value1 = ddl1.SelectedValue; 
    
        //Request your database 
    
        //And bind your dropdownlist of sub categories 
    
    
        ... 
    } 
    
    void ddl2_selectindexChanged(Object sender, EventArgs e)  
    { 
        ... 
    } 
    
    
    void ddl3_selectindexChanged(Object sender, EventArgs e) 
    { 
        ..; 
    
    } 
    
    +1

    이것은 작동하지 않습니다. 포스트 백의 이벤트에'ddl2'와'ddl3'을 바인드해야합니다. – nunespascal

    +0

    또한 게시물에 바인딩하거나 selectindexchanged해야하지만 명백한 nunespascal입니다. –

    +0

    Hello Candie - 드롭 다운 바인딩 문제가 해결되었습니다. 여전히 문제를 일으키는 마지막 항목은 dropdown3을 기준으로 렌더링되는 패널입니다. –

    관련 문제