자바 스크립트에서 xmlhttprequest 개체를 통해 호출되는 메서드가있는 webservice가 있습니다. 이 메서드는 datetime 매개 변수를 받아들이고 나중에 문자열로 변환되어 데이터베이스에서 실행되어 계산을 수행합니다.웹 서비스의 올바른 DateTime 형식
나는 m_txtDateAdd에서 값을 얻을
<asp:CustomValidator id="m_DateAddValidator" runat="server" ErrorMessage="Please Enter a Valid Date" ControlToValidate="m_txtDateAdd">●</asp:CustomValidator>
내의 WebMethod이
[WebMethod]
public decimal GetTotalCost(DateTime transactionDate)
{
String sqlDateString = transactionDate.Year+"/"+transactionDate.Month+"/"+transactionDate.Day;
I과 같은 형태 그것에 attacted 발리가있는 XMLHttpRequest의
<asp:textbox id=m_txtDateAdd tabIndex=4 runat="server" Width="96px" Text="<%# Today %>">
</asp:textbox>
을 보내 sqlDateString을 commandtext의 일부로 사용하여 데이터베이스로 보냅니다. 그것의 레거시 응용 프로그램과 인라인 SQL 그래서 나는 저장 프로 시저를 설정하고 내 코드에 매개 변수를 할당 할 자유가 없습니다. 이것은 90 %의 시간 동안 작동합니다. webservice는 m_txtDateAdd의 onchange 이벤트에서 호출됩니다. 때때로 나는 서버로부터 얻는 응답은
입니다. System.ArgumentException : 25/06/2009를 System.DateTime으로 변환 할 수 없습니다. System.ArgumentException : 25/06/2009를 System.DateTime으로 변환 할 수 없습니다.
매개 변수 이름 : type ---> System.FormatException : 문자열이 유효한 DateTime으로 인식되지 않았습니다.
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.DateTime.Parse(String s, IFormatProvider provider)
at System.Convert.ToDateTime(String value, IFormatProvider provider)
at System.String.System.IConvertible.ToDateTime(IFormatProvider provider)
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type)
--- End of inner exception stack trace ---
at System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type)
at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
at System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request)
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
맞춤 검사기 코드를 표시 할 수 있습니까? serializer는 몇 가지 기본 형식 만 이해할 수있는 기본 형식을 사용하여 문자열을 변환하려고 시도합니다. 유효성 검사기는 알려진 형식이 제출되고 있는지 확인해야합니다. –
표준 asp.net 사용자 정의 유효성 검사기입니다. 내 자신의 것을 작성하지 않았습니다. – user48408