任何指导或指向我的例子都会非常感激(我无法在Googleplex上制定一个好的搜索词)。
我有一个模型使用我在字典中定义的枚举,然后使用@ Html.RadioButtonFor等在视图上呈现。
以下是我的模型示例:
public PaymentPlanList PaymentPlan { get; set; }
public enum PaymentPlanList
{
PaymentPlan_One,
PaymentPlan_Two,
}
public class PaymentPlanDictionary
{
public static readonly Dictionary<PaymentPlanList, string> paymentplanDictionary = new Dictionary<PaymentPlanList, string>
{
{ PaymentPlanList.PaymentPlan_One, "One full payment in advance (receive the lowest price)." },
{ PaymentPlanList.PaymentPlan_Two, "Two payments: first payment of 50% due up front, the balance of 50% due within 30 days (increases fee by $100)." },
};
static string ConvertPaymentPlan(PaymentPlanList paymentplanlist)
{
string name;
return (paymentplanDictionary.TryGetValue(paymentplanlist, out name))
? name : paymentplanlist.ToString();
}
static void Main()
{
Console.WriteLine(ConvertPaymentPlan(PaymentPlanList.PaymentPlan_One));
Console.WriteLine(ConvertPaymentPlan(PaymentPlanList.PaymentPlan_Two));
}
}
而且,为了完整起见,这是我对上述内容的看法:
<p>
@Html.RadioButtonFor(m => m.PaymentPlan, "PaymentPlan_One")
One full payment in advance (receive the lowest price).
</p>
<p>
@Html.RadioButtonFor(m => m.PaymentPlan, "PaymentPlan_Two")
Two payments: first payment 50% due up front, the balance of 50% due within 30 days (increases fee by $100).
</p>
这是我用户填写的报价系统。对于这项特殊服务,请说我收取1,000.00美元。这是基本价格。根据用户输入,此价格将被更改,我想向用户显示。因此,如果用户选择第一个选项,则价格保持不变。如果用户选择第二个选项,则费用增加$ 100.00。
这会呈指数级变化,因为有更多输入影响价格(如果选择)。
最终,根据用户输入,我需要计算总数。我正在渲染一个显示总数的视图。我正在考虑使用一些@ {}块和if / else if语句a)如果选择的内容不会增加总数,或者b)显示额外的数量(例如,$ 100.00),然后显示a总
像(为了清楚起见,在这里编辑):
感谢您的帮助。
答案 0 :(得分:0)
让我们看看我是否正确理解了您的要求:
可以针对枚举存储单个值:
public enum PaymentPlanList
{
PaymentPlan_One = 100,
PaymentPlan_Two = 200,
}
但是,我认为这不足以满足我们的需求 - 枚举只允许整数,并且通常以这种方式在bitwise operations中使用(其中值是2的倍数。)
我认为这里更好的解决方案可能是使用Model-View-View-Model (MVVM),其中可以包含有关哪些服务可用,服务费用以及哪些服务与其他服务一起有效的逻辑。
Knockout.js home page上有一个票价定价示例(在概念上与此类似的概念),可根据用户选择在客户端网页上重新计算旅行票价。