2012-04-19 3 views
1

나는이 아약스 호출을 수행하고의 널 (null)을 채 웁니다 아무도 왜 빈 문자열이 nulls null로 선회하고 있는지 아십니까? 나는 널 (NULL) 속성 javascriptserializer의 버그에 대해 이야기이 게시물을 발견 :MVC 3 직렬화 대신 빈 문자열

http://juristr.com/blog/2012/02/aspnet-mvc3-doesnt-deserialize-nullable/

을하지만 내 경우는 그냥 deseralize하려는 것보다 훨씬 간단하고 설명 필드가 포함 개체 중 일부는 수도 빈 문자열이어야합니다.

공백 문자열과 nulls의 차이를 알려줘서 null이 생길 경우 예외를 던질 수 있도록해야합니다. (클라이언트 js 코드는 C# 개체와 동기화되어 있지 않습니다. 그것에 대해).

내게이 문제를 밝힐 수있는 MVC 전문가가 있습니까?

감사합니다.

답변

3

나는 문제가 ModelBinder를위한 기본 동작 모델 (MyClass의)의 유형의 기본값으로 빈 필드를 변환 할 수 있도록 그 필드에 빈 문자열을 보내는

... = default(string); 
로 번역하는 것이라고 생각합니다

당신에게 null을 줄 것입니다.

이 동작을 변경하려면 해당 클래스에 대한 고유 한 ModelBinder를 만들고 요청이 들어 왔지만 비어있는 경우 해당 필드를 빈 문자열로 설정해야한다고 생각합니다.

관련 문제