그래서 상황은 당신이 작업을 다른 사이트로 가리키는 사용자의 브라우저에서 렌더링되는 양식을 가지고있다 그리고 당신은 하나 있는지 확인해야 양식 제출시 양식 필드가 전송되지 않습니다.
그와 같은 경우에는 소리가 나지 않으므로 값이 게시되지 않았는지 절대적으로 확인하십시오. 자바 스크립트를 사용하여이 문제를 해결할 수있는 여러 가지 가능한 방법이 있습니다 (제출 전에 입력 값을 지우고 값을 지우는 등).하지만 스크립팅을 해제하면 문제가 생길 것입니다.
하지만 양식을 다른 서버로 보내거나 (PostBackUrl을 사용하여 양식의 동작을 변경하거나 단추를 활성화하는) 양식을 준비 할 수 있으므로 텍스트 상자의 Enabled 속성을 false로 설정할 수도 있습니다. 즉, 다른 서버에 게시하기 위해 더 이상 최종 페이지에서 편집 할 수 없습니다. 또는 텍스트 상자를 숨길 수 있으므로 (전혀 위임되지 않았 음) 필드를 대신 레이블 또는 리터럴로 표시 할 수 있습니다.
그럼에도 불구하고 여전히 어떻게 든 비밀 값이 양식의 viewstate에 포함되지 않았는지 확인해야합니다. 라벨이나 리터럴을 사용할 경우를 대비하여 또한 마지막 포스트 백에서 비활성화되었거나 숨겨진 텍스트 상자에 대해서도 마찬가지입니다. 일반적으로 viewstate는 base64로 인코딩 된 문자열이므로 거기에서 신용 카드 번호를 찾는 것이 쉽습니다. 당신은 아마도 다른 서버에 게시하기 위해 양식을 설정하기 전에 마지막 게시물에서 해당 컨트롤 (또는 전체 페이지)에 대한 viewstate를 해제하여이 문제를 해결할 수 있습니다.
서버에 대한 마지막 포스트 백이 확실하지 않은 경우 중요한 변경 사항없이 운이 나쁘다고 생각합니다. 죄송합니다. Asp.Net 웹 양식에서 겉으로보기에 사소한 것들은 어렵습니다.
다른 서버에 보내고 "확인 페이지"종류가 필요한 데이터로 채워진 별도의 페이지를 추가 할 수 있습니다. 이 페이지에서 viewstate를 끄고 (레이블 및 리터럴 등을 사용하여) 요약 된 모든 데이터를 표시 할 수 있으며 게시 할 실제 데이터는 양식에 숨겨진 필드로 포함될 수 있습니다. 그런 다음 사용자가 "확인"을하면 해당 양식이 다른 서버에 게시됩니다.
같은 페이지에 다른 양식의 텍스트 상자를 넣을 수 없습니까? –
ASP.NET은 여러 양식을 허용하지 않습니다. – jaypeagi
혼란스러워. 다시 게시 할 때 값을 사용할 수 없거나 텍스트 상자 컨트롤 자체에서 자동 다시 게시를 수행하는 것을 원하지 않는다고 말하고 있습니까? – Josh