2011-04-30 2 views
0

저는 asp.net 및 C#을 사용하는 첫 번째 연습 프로젝트에서 newb입니다. "제품 추가"페이지에 입력 양식을 표시하고 데이터베이스에 사용자 정보를 보낸 다음 다시 버튼 클릭하여 다시 게시하고 데이터를 읽기 전용 형식으로 표시해야합니다. 이것을 위해 아약스를 사용하고 싶습니다. 각 제품에 대해 업데이트 패널을 사용하는 것이 가장 좋을 것이라고 생각합니다. 그리고 buttonclick에서는 스위치 케이스 문을 사용하여 각 폼을 표시합니다. 전에 스위치 케이스를 사용 해본 적이 없으며 폼을 표시하는 데 사용할 수있는 방법이 궁금합니다. 예를 들어,사용자 입력 폼을 가져 오기위한 드롭 다운 목록의 Ajax 컨트롤?

Switch (DropDownList1.SelectedValue) 
    { 
     case 0: 
     //what method would display the update panel for this product? 
     break; 
     case 1: 
     //etc. 
     default: 
     error message; 
     break; 
     } 
+0

조금 뭘하려는거야? AJAX 사용의 요점은 전체 페이지의 다시 게시를 피하기 위해서, 당신이 언급 한 "buttonclick postback"에 어떻게 맞는지 잘 모르겠습니다. 사이드 노트에서. 닷넷 UpdatePanel에서 벗어나려고 노력하는 경향이 있습니다. 실제로 렌더링 된 결과물을 출력하므로 페이지에서 더 복잡하고 이해하기가 더 어려워집니다. 대신 jquery와 ajax를 통합하면 호출 할 때 유용 할 것입니다. – Sean

+0

업데이트 패널은 AJAX의 세부 사항을 대부분 숨기고 여전히 "포스트 백"을 수행합니다. 업데이트 패널 만 가로 채고 비동기 호출로 바뀝니다. –

+0

@Sean, 명확성을 위해 제 질문을 수정했습니다. 불행히도, 나는이 상황에서 jquery와 ajax를 통합하는 방법에 대해 전혀 모르고 있기 때문에, 나는 이것이 더 깨끗한 방법이라고 확신하지만, 내가 아는 것을 고수해야한다. (당신이 나에게 그것을하는 방법을 보여주는 당신의 금요일 밤의 일부를 기꺼이 보내지 않는 한 : D). –

답변

0

여기 내가 사용 결국 무엇의 OnClick. 폼을 패널에 넣고 보이지 않게 설정 한 다음 ddl에서 선택한 값에 visible = true 메서드를 실행 한 다음 중복 제품을 피하기 위해 ddl 이벤트에서 remove.selecteditem 메서드를 실행했습니다.

protected void BtnAddProduct_Click(object sender, EventArgs e) 
{ 
    switch (DdlProductList.SelectedValue) 
    { 
     case "1": 
      PanelEpl.Visible = true; 
      break; 
     case "2": 
      PanelProf.Visible = true; 
      break; 
     case "3": 
      PanelCrime.Visible = true; 
      break; 
     case "4": 
      PanelFid.Visible = true; 
      break; 
     case "5": 
      PanelNotProf.Visible = true; 
      break; 
     case "6": 
      PanelPriv.Visible = true; 
      break; 
     case "7": 
      PanelPub.Visible = true; 
      break; 
     default: 

      break; 
    } 
} 

protected void DdlProductList_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    DdlProductList.Items.Remove(DdlProductList.SelectedItem); 
} 
2

하나의 솔루션을 사용하면 포스트 백을 사용하고 자바 스크립트를 통해 웹 메소드를 호출하고 데이터베이스에 데이터를 보낼 것입니다하지 않는 것이 될 것이다. 내가 사용하는 것이

과정은 다음과 같습니다

  1. 넣어 입력 태그 및 HTML 버튼 페이지.
  2. 새 웹 서비스에서 웹 메서드를 만듭니다.
  3. 이 웹 메서드를 호출하기위한 javascript 메서드를 만듭니다. a. 스크립트 관리자 태그 및 웹 서비스에 대한 서비스 참조 사용 b. 또는 웹 서비스
  4. 에 JQuery와 아약스 호출을 사용하면 자바 스크립트 함수에 양식 읽기 전용
  5. 타이에게 버튼을 만들기 위해 자바 스크립트를 수정
관련 문제