2012-05-09 2 views
-1

난 asp.net 웹 응용 프로그램에서 다섯 페이지가 있습니다. 첫 페이지에 정보를 입력하고 다음을 클릭하십시오. 다음 페이지로 이동하여이 페이지에 정보를 입력하십시오. 나는이 과정을 5 페이지 씩 계속한다. 다섯 번째 페이지에서 제출 버튼을 클릭하기 전에, 검토 버튼을 클릭하는 모든 이전 페이지에서 나와 입력 한 모든 정보를 검토해야합니다. 어떻게해야합니까? pls 조언.asp.net에서 한 페이지의 모든 데이터를 검토하는 방법?

+1

[시도한 내용] (http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CHwQFjAA&url=http%3A%2F%2Fmattgemmell.com%2F2008% 2F12 % 2F08 % 2 당신이 시도한 % 2F & ei = UDaqT8mSBIPi4QTlsb28CQ & usg = AFQjCNF5YOT1O7kvNT_JGM-bDOiVdCSrHQ & sig2 = hiOIVrt1O2sRBSZa5eEpOA)? –

답변

1

단계를 따라 이동할 때 데이터베이스에 데이터를 저장하고 마지막 단계에서 데이터를 검색 할 수 있습니다. 또 다른 방법으로 Session에 저장할 수도 있습니다.

확실히이 시나리오를 구현하는 다른 방법이 있지만 아이디어는 어떻게 든 데이터를 유지하고 마지막 단계에서 검색하는 것입니다.

1

저는 개인적으로이 문제에 대해 잘못된 길을 가고 있다고 생각합니다. 페이지에서 페이지로 데이터를 전달하면 여러 가지 문제가 발생할 것입니다.

단일 페이지에서이 작업을 수행하는 데는 여러 가지 방법이 있습니다. 별도의 컨트롤을 5 개 만들고 단일 페이지에 모든 컨트롤을 배치 한 다음 (페이지로드가 너무 크고 페이지로드가 느려지지 않는다면) 사용자가 볼 수있는 내용에 따라 적절한 컨트롤을 표시 할 수 있습니다. 예를 들어, 다음을 클릭하면 현재 컨트롤의 표시 속성을 false로 만들고 다음 컨트롤을 표시합니다. 그런 다음 프로세스가 끝나면 각 컨트롤에서 입력 된 데이터에 액세스 할 수 있습니다. 채워진 클래스를 반환하거나 참조로 전달하는 컨트롤에서 멋진 기능을 만들 수 있습니다 (우리는 들어 가지 않습니다). 여기까지).

Views을 사용할 수도 있습니다. 단 하나의 페이지에서 구현할 수있는 또 다른 방법입니다.

여러 페이지를 사용하는 것이 단호한 경우 데이터를 데이터베이스에 임시 저장 한 다음 마지막 페이지에서 세션의 ID를 가져 와서 모두 하나로 저장하십시오. 그러나 상황에 따라 다르긴하지만 저는 이것을 권하지 않습니다. 서식의 절반을 채우고 나중에 계속하면 데이터베이스 방법을 사용하는 것이 좋지만 완료되면 저장되는 데이터 만 원하는 경우 나머지 절반의 완성 된 데이터로 끝날 것입니다 이 방법을 사용합니다.

0

이 솔루션은 사용하는 프레임 워크와 방법에 완전히 달려 있습니다. ASP.Net을 사용할 때 MVC3이 실제로 갈 방법이라고 생각하므로 ASP.Net MVC3 솔루션을 사용해 보겠습니다.

  • 사용자는 다음 버튼을 클릭하면, 단지 자바 스크립트/jQuery를 아약스 방법 부분도 (다음 단계 HTML을 포함)을로드하거나 JQuery와 표시를 이용하여 다음 단계를 제시/기능을 숨 깁니다.
  • 양식 데이터를 하나의 HTML 양식 태그 (또는 하나 이상의 holder-div) 내에 보관하십시오.
  • 마지막 단계에서 정보를 제출해야하는 경우 단일 jQuery 직렬화 호출로 정보를 수집하고 ASP.Net 수신자에게 보내면됩니다.

일부 코드 조각 :

을 표시 면도기보기 엔진에서 부분보기 :
@Html.Partial("/Views/Instance/_General.cshtml", Model)

로드 jQuery를 통해 부분보기 - 자세한 내용은 참조하십시오 http://api.jquery.com/category/ajax/
@Html.Partial("/Views/Instance/_General.cshtml", Model)

jQuery를 통해 서버에 데이터 게시 :

$("#submit-button-id").click(function() { 
    var data = $("#form-id").serialize(); 

    $.ajax({ 
     url: "/Example/Save", 
     type: "POST", 
     data: data, 
     cache: false, 
     success: function (success) { 
      if (success) { 
       // things worked out just fine.. 
      } 
      else { 
       // present some kind of error.. 
      } 
     } 
    }); 
}); 
관련 문제