2015-06-06 50 views
2

早安(在這裏)NancyFx綁定時間跨度是不工作的JSON

我使用NancyFx和我有一個問題,當我試圖綁定時間跨度屬性的一類,我使用AngularJs太

,我使用的JSON是:

{ 「描述」: 「foo」 的,
「scheduleTime」:{ 「天」:0, 「小時」:23, 「分鐘」: 36, 「seconds」:10, 「milliseconds」:0 } };

我的C#類

public class Scheduler 
{ 
    public int IDHorario{ get; set; } 
    public string Descripcion { get; set; } 
    public Nullable<TimeSpan> scheduleTime{ get; set; } 
} 

我南希模塊

Post["/Add"] = parameters => 
{ 
    var sch= this.Bind<Scheduler>(); 

    HorarioDB.CreateHorario(sch); 

    return new Response().WithStatusCode(HttpStatusCode.OK); 
}; 

但我收到scheduleTime空,我不知道爲什麼? :'(

任何想法?

非常感謝

回答

1

望着source code,時間跨度JSON轉換器僅處理時間跨度,不能爲空時間跨度

,就可以提交問題南希。 ,甚至更好,提供一個修補程序 - 這是一個開源項目,並歡迎討論。

暫時,考慮在您的班級中使用不可空的屬性

或者,創建您自己的JavaScript轉換器並進行註冊。請參閱TimeSpan converter was born的實現細節。您可以重複使用現有的數據,只需確認是否有傳入的數據。例如:

public override IEnumreable<Type> SupportedTypes 
{ 
    get 
    { 
     return new[]{typeof(Nullable<TimeSpan>)}; 
} 
public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer) 
{ 
    if (dictionary.Count == 0) 
    { 
     return null; 
    } 
    return new TimeSpanConverter().Deserialize(dictionary, type, serializer); 
} 
+0

非常感謝朋友,我將很難爲上傳一件好東西。 – jdmaldonado