-4
我有一個MVC的Web應用程序,在JavaScript級別使用Angular。我試圖做一個HTTP請求與對象,看起來與此類似:Http請求發送子類型
public class Template
{
public string Id { get; set; }
//other properties
public Enum Status { get; set; } //can be either of type InboundEnum or OutboundEnum
}
的問題是,我有兩個可能的Enum
類型(一個叫InboundEnum
和一個叫OutboundEnum
)。通常,當我使用角度的$http.post()
時,請求會正確地將其他JSON轉換爲正確的Enum
值,因爲它具有特定的Enum
(如InboundEnum
)。
兩個Enums
:
public enum InboundEnum
{
Undefined = 0,
Deleted,
Saved,
Pending,
Completed,
Cancelled
};
public enum OutboundEnum
{
Undefined = 0,
Deleted,
Saved,
Rejected,
InTransit,
Completed,
Cancelled
};
目前,JavaScript對象我送看起來像這樣:
{
id: 'Id001`,
status: 'Saved' //I know it's currently ambiguous which enum to use. Solution?
}
我怎樣才能獲得正確類型值到MVC API控制器(如InboundEnum.Saved
或OutboundEnum.Canceled
)?有沒有更好的方法來處理Enum
的正確類型,而不是附加Template.EnumType
屬性,並使用switch語句來獲得正確的Enum
?
如果我有反模式,請讓我知道。
對不起,讓我更清楚。我的問題是'Status'可以是在客戶端javascript級別已知的兩種不同類型_中的一種。我將編輯我的問題來解決這個問題。 – ryanyuyu
但是,JSON.NET是一個選項。 – ryanyuyu
在這種情況下,您肯定需要知道什麼是枚舉類型,以便您可以嘗試相應地解析它。 – ShankarSangoli