C#.NET基于表单部分生成成功消息

时间:2013-07-04 08:39:35

标签: c# .net asp.net-mvc design-patterns


我有一个包含多个部分的表单,例如A,B,C和D部分以及一个提交按钮来保存它们。当用户点击“提交”按钮时,我的客户需要我根据操作显示不同的成功消息。

1)当用户改变A和C时,成功消息应为“A和C保存”。
2)当用户改变A,C和D时,成功消息应为“A,C和D保存”。

它就是这样的。
目前很多if和else条件。我检查了每个部分,无论是否由用户修改,并将bool变量设置为true或false。并基于这些bool变量生成成功消息。

即使它工作正常,我也不喜欢整个if和else条件。所以我想要你的想法。我怎样才能更优雅地解决这个问题。让我们说将来我添加另一部分,我不想通过所有这些,如果,否则条件。

有任何建议吗?

1 个答案:

答案 0 :(得分:1)

您可以设置:

Dictionary<string,bool> responses = new Dictionary<string,bool>();

其中键是“A”,“B”,“C”等 当您检查部分时,只需为每个响应/键设置true / false 然后你可以使用helper方法用逗号和'和'word:

连接字母
static string MyJoin(Dictionary<string,bool> dict)
        {
            var dictTrue = dict.Where(e=>e.Value);
            if(dictTrue.Count()==0) return string.Empty;
            StringBuilder sb = new StringBuilder();
            sb.Append(string.Join(", ",dictTrue.Select(e=>e.Key).Take(dictTrue.Count()-1)));
            sb.Append(" and ");
            sb.Append(dictTrue.Last().Key);
            return sb.ToString();
        }