내 양식에 TextMode 속성이 'Date'로 설정된 TextBox 컨트롤이 있고 (완성을 위해) 내 지역의 일반 날짜 형식은 'dd/MM/yyyy '(영국) :ASP.NET 4.5 텍스트 상자 Textmode 'Date'포스트 백 문제
사용자가 내가 따라서 AutoPostBack은 뒤에 코드에서 뭔가를 원하는 날짜를 변경하고 속성 설정을 OnTextChanged<asp:TextBox ID="tbFrom" runat="server" TextMode="Date" AutoPostBack="True" OnTextChanged="DatesChanged"></asp:TextBox>
.
사용자가 캘린더 팝업 컨트롤을 사용하여 날짜를 선택했지만 사용자가 날짜를 수동으로 입력하면이 컨트롤은 날짜가 완전히 입력되기 전에 다시 게시됩니다.
예를 들어, 사용자는 '01'을 입력하고 '01'을 입력 한 다음 '2017'을 입력합니다. 사용자가 연도 부분에 '2'를 입력하자마자 TextChanged 이벤트가 트리거되고 컨트롤이 (완벽하게 유효한) '01/01/0002 '날짜와 함께 다시 게시되고 컨트롤에서 포커스를 잃습니다.
기술적으로 이것이 정상적으로 작동한다는 것을 알고 있지만 매우 특정한 방식으로 여러 섹션을 입력하지 않으면 사용자가 필요한 날짜를 완료 할 수 없게 만드는 효과가 있습니다 (연, 일, 월 예를 들어).
내 직접 질문은 '이 컨트롤의 수동 날짜 입력을 비활성화 할 수 있습니까? '. 그러나 수동 입력을 유지하는 방법에 대한 제안은 환영하지만 전체 날짜를 먼저 입력 할 수있는 방식으로 다시 게시를 처리합니다.
감사합니다. 감사 Webruster -
을 다음과 같이 텍스트 상자 마크 업에 추가
onkeypress="return false;" onpaste="return false"
를 사용하여 수행 할 수 있습니다! 위아래 화살표로 여전히 문제가 있었지만 여기에 제시된 답변을 사용하여 간단하게 제거했습니다. http://stackoverflow.com/questions/31157892/how-to-remove-up-down-arrow-keys -from-asptextbox-texmodedate –
@JohnP 우리가 구현 한 것은 대신 Textmode = Date를 사용하여 Jquery datepicker를 사용했기 때문에이 컨트롤의 팝업에서 사용자를 선택하여 문제를 완화하고 보려고했습니다. 당신이 그것을 사용할 수 있다면, 더 많은 기능을 가지고, 시도해보십시오 !! – Webruster
그래, 좋은 생각이야. 나는 그 소용돌이 감사드립니다. –