요약 : (로컬 자바 스크립트를 통해)를 사용할 때 다음 서버에 백을 기록, 때
장애인 ASP.NET 유효성 검사기는 원래 InnerHTML
때보다는 ErrorMessage
을 보여 자신의 InnerHTML
내용을 잃어 가고있다 해고 됐어.장애인 검증
상세 정보 : 좀 복잡한 개별 제어가 많이 눈에 보이지 않는/표시하는 데 필요한 양식, 자신의 유효성 검사기를 다루는
다른 컨트롤의 선택에 따라 활성화/비활성화 할 수 있습니다.
모든 유효성 검사기에는 asp:ValidatorSummary
개체를 통해 표시된 오류 메시지와 함께 하나의 "별표"이미지가 포함되어 있습니다. 예를 들어
<asp:RequiredFieldValidator runat="server" ID="valName"
ControlToValidate="txtName" ErrorMessage="Enter a name">
<img runat="server" src="~/images/error.gif" />
</asp:RequiredFieldValidator>
보다는 하나 하나 검증에 asp:CustomValidator
을 사용
.enabled = false
을 설정하기 만하면됩니다. (컨트롤의 상태는 또한 초기 페이지로드에 서버 측뿐만 아니라 이후의 포스트 백 페이지가로드에 설정되어 있습니다.)
function showName(show){
document.getElementById("txtName").style.display = (show ? "" : "none");
document.getElementById("valName").enabled = show;
}
문제는 발리는 이벤트의 순서에 달려있다 비활성화되면 폼이 포스트 백됩니다. 그러면 컨트롤이 (사용자 인터럽트를 통해) 변경되고 유효성 검사기가 활성화됩니다. 이제 유효성 검사기가 실패한 경우 (포스트 백 시도시) <img
코드가 사라 졌으므로 대신 이미지가 있어야하는 위치에 ErrorMessage
텍스트가 표시됩니다.
InnerHTML
은 유효성 검사기가 계속 활성화 된 상태로 유지됩니다.
다른 동적 (정말은하고 싶지 않아 하는) 매 페이지로드 각 검사기에 이미지를 추가하거나, 정말 원하지 않는 다시하는 (CustomValidator
들로 모두 변환하는 것보다 해야 할 일), 아무도이 문제를 알지 못합니까? 이 버그는 알려진 버그입니까 (명백한 것은 찾을 수 없기 때문에)?
Visual Studio 2010에서 ASP.NET 2.0을 사용 중입니다. 불행히도 현재 ASP.NET의 상위 버전으로 업그레이드하는 위치에 있지 않습니다. 난 그냥 발견
UPDATE는 <img
태그가 실제로
기관이 앞에 있다는 것입니다 ... 그리고 내가 발리에서 바로 <img
태그를 떠나는 것을 제거하면, 그것을 작동합니다.
유효성 검사기의 InnerHTML
에 일반 텍스트 (즉, ASP 서버 측 컨트롤이 없음)가 포함되어있는 경우 효과가있는 것부터 재생할 때 InnerHTML
은 유효성 검사기의 사용 가능 여부와 관계없이 모든 게시 후 다시 유지됩니다. 아닙니다. 또한 (공백 제외) 및 일반 텍스트로 InnerHTML
시작은 어떤 서버 측 컨트롤이 경우 유효성 검사기가 비활성화 올바르게 때
그러나, 그것은 이후의 백업 지속되지 않습니다.
이 경우 왜 이해하지 않지만, 사소한 형식 문제에 대해 나는 확실히 ... 그 중 하나에 대응할 수, 또는 나는 문자 그대로 내부
, 또는 style
<img
태그를 넣어해야합니다 ... 그 중 하나에 대한 다양한 옵션이 있습니다.
ASP.NET 4.0 테스트 베드 응용 프로그램을 사용하여 동일한 버전이 해당 버전에서 발생하는지 확인할 수 있습니다.
아무도 다른 사람이 며칠 안에 추가하고 싶지 않다면 위의 질문에 직접 답할 것입니다.