我必须使用if / else语句输出与用户所做选择相关的货币值。类似的东西:
@if (Model.ProcessingRadioButtons.Equals("Standard"))
{
@Html.DisplayFor(m => m.priceProcessingStandard)
}
else if (Model.ProcessingRadioButtons.Equals("Expedited"))
{
@Html.DisplayFor(m => m.priceProcessingExpedited)
}
else if (Model.ProcessingRadioButtons.Equals("Urgent"))
{
@Html.DisplayFor(m => m.priceProcessingUrgent)
}
但它没有根据我选择的单选按钮显示任何内容,所以我知道if
/ else if
语句是错误的。我将最后一个else if
转换为else
并取出(Model.ProcessingRadioButtons.Equal("Urgent"))
并显示500(请参阅下面的价格实体)。
这是radiobutton的枚举:
public enum Processing
{
Standard,
Expedited,
Urgent
}
单选按钮实体(使用助手完成单选按钮):
public Processing? ProcessingRadioButtons { get; set; }
这些是价格的实体:
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal priceProcessingStandard = 0;
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal priceProcessingExpedited = 250;
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal priceProcessingUrgent= 500;
任何指导?
答案 0 :(得分:1)
如果ProcessingRadioButtons是枚举,则需要与之比较 - 而不是字符串。请尝试... .Equals(Processing.Standard)。
答案 1 :(得分:1)
您是否正在发送处理ProcessingRadioButtons属性的模型?
除此之外,为什么不使用:
@if (Model.ProcessingRadioButtons == Processing.Standard)
它更简单,不依赖于魔术字符串。