2008-09-18 6 views
5

기본 ASP 배경에서 제공되는 여러 페이지 양식에 익숙하지만 ASP.NET 페이지에서는 명확하게 제한됩니다.ASP.NET 페이지의 여러 양식

그러나 사용자로부터 입력을 수집하고 데이터를 DB에 저장하는 양식이 있으며 나중에 PayPal에 게시하는 특수 양식 (예 : 값을 조정)을 렌더링하려는 상황이 있습니다. 웹 사이트.

는 페이팔 양식의 필드 값이 정적이라면, 아무 문제가 없을 것입니다,하지만 난 형태의 서버 측을 조작하려는 때문에이 문제가 될 것입니다합니다 (수량, 내림차순 가격 필드 등을 조정할).

DB에 글을 올린 후 다른 페이지로 리디렉션하는 것을 고려하고 있었지만 이것이 제대로 작동 할 것으로 생각되지만 불필요한 노력이 될 수 있습니다.

사이클의 위치에 따라 프로그래밍 방식으로 다른 양식을 렌더링 할 수 있다고 제안되었습니다. 즉, 자리 표시자를 사용하고 Page_Load에 처음에는 DB Form (자식 컨트롤이있는 항목)을 추가하고 Postback 후에는 PayPal 양식을 추가합니다.

이 시나리오는 여러분에게 공통적 인 시나리오이므로 선호하는 접근 방법을 사용하면 의견 수렴 및 관련 코드 샘플을 찾고 있습니다.

나는이 프로젝트가 학습의 수단이기 때문에, 모범 사례를 위해 통과하는 것을 채택하고 싶다. 사전에

감사합니다 ...

크리스

답변

8

여러 개의 양식을 가질 수 있습니다. 단 하나의 양식 만 runat="server" 속성을 가질 수 있습니다.

PayPal을 사용하는 데 대한 여러 답변이 있습니다. 그러나 속임수일지도 모르는 학습 차량이기 때문입니다. 솔직히 말해서, 나는 다소 단순한 형태의 메소드를 사용하는 것보다는 (더 많은 것을 배우기 위해 더 많은 이점을 가짐) PayPal API를 본다.

그렇지 않으면 예, 서버 쪽 양식 외부에서 HTML 양식을 설정하고 리터럴을 추가하고 거기에 비트와 조각을 씁니다.

1

기본 접근 방식은 페이지에 두 개의 패널을 사용하는 것입니다 - 첫 번째 양식 하나와 두 번째의 또 다른합니다.

표시 할 양식 (페이지로드 중 또는 렌더링하기 전)에 따라 이러한 패널의 가시성 속성을 변경할 수 있습니다.

1

어쩌면 나는이 질문을 오해하고있다. 그러나 양식 안에 2 개의 div가있을 수는 없다. 언제든지 하나만 볼 수있다. 예 : btnSubmitFirst_Click에서 다음

<form id="Form1" method="post" runat="server"> 
    <div id="getUserInput" visible="true"> 
      <asp:button id="btnSubmitFirst" /> 
    </div> 
    <div id="doSubmissionToPaypal" visible="false"> 
      <asp:button id="btnSubmitSecond" /> 
    </div> 
</form> 

: 그 라인을 따라

doSubmissionToPaypal.visible=True 
getUserInput.visible = false 

뭔가?

0

이 페이팔의 해결 방법은 Paypal Integration Code을 항상 페이팔로 통합하는 것이 가장 친숙한 것은 아닙니다. 근면 한 작업은 기본적으로 수행됩니다.

+0

이 부분을 살펴볼 것이지만, 학습 연습이므로 가능한 경우 '수동으로'하고 싶습니다. – CJM