运算符'=='不能应用于字符串类型和枚举的操作数
问题描述:
我有以下代码,其中Model.VerticalType
包含字符串。我想这与Enum
比较,但我得到的错误:运算符'=='不能应用于字符串类型和枚举的操作数
操作“==”不能应用于类型“字符串”的操作数和
DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType.Voice
@if (Model.VerticalType == DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType.Voice)
{
<img src="@phoneWSource" />
}
答
呼叫.ToString()
上枚举值。
@if (Model.VerticalType == DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType.Voice.ToString())
这会将enum转换为它的名称,在这种情况下为Voice
。
答
尝试Enum.Parse
从字符串转换为枚举值:
Enum.Parse(typeof(DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType), Model.VerticalType, true) == DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType.Voice
true
表示忽略的情况下,同时解析
是否有一个原因,你的模型不能枚举作为一个字段? – Bauss
@Bauss代码由其他人编写,我无权更改。所以我必须为它找到一个解决方案。 –