Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET验证模式_C#_.net_Winforms_Design Patterns_Validation - Fatal编程技术网

C# .NET验证模式

C# .NET验证模式,c#,.net,winforms,design-patterns,validation,C#,.net,Winforms,Design Patterns,Validation,我从来没有仔细研究过.NET为用户输入验证提供的所有功能,因为首先我不喜欢它们通常不允许您取消控件焦点的方式,除非您输入正确的数据,我相信DataGridView可以做到这一点 另一方面,我发现我经常需要验证我将在下面描述的内容,我想知道遵守这里的.NET标准是否会使它变得更容易 我通常会有一个对话框,在其他控件中有两个组合框:一个用于在现有表中选择数据表,另一个用于在当前选定表中的列中选择列。到目前为止,这很简单,但由于这是一个对话框,我需要显示上次显示对话框时选择的值(如果它们仍然存在于数据

我从来没有仔细研究过.NET为用户输入验证提供的所有功能,因为首先我不喜欢它们通常不允许您取消控件焦点的方式,除非您输入正确的数据,我相信DataGridView可以做到这一点

另一方面,我发现我经常需要验证我将在下面描述的内容,我想知道遵守这里的.NET标准是否会使它变得更容易

我通常会有一个对话框,在其他控件中有两个组合框:一个用于在现有表中选择数据表,另一个用于在当前选定表中的列中选择列。到目前为止,这很简单,但由于这是一个对话框,我需要显示上次显示对话框时选择的值(如果它们仍然存在于数据库中),或者如果表仍然存在,则选择其他列,或者如果有表,则选择其他表和列,并警告用户其选择已更改,或者,如果没有表格,只需显示一条消息并关闭对话框


当然,这不是唯一的情况。有时它会有点复杂,每次我都会尝试再次找出处理它的最佳方式。我想知道是否已经有了一种模式,特别是.NET提供的模式,我可以应用到我上面描述的案例中?如果是这样的话,我肯定会想出如何将其应用于其他情况。

答案在很大程度上取决于您的实现细节

然而,我们最终决定将现有的显示和值传递给检索数据的方法

一旦检索到数据,我们将检查检索到的数据中是否存在缺少的数据,如果存在,我们将添加一条记录以将显示值和值存储到返回的数据集合中

在数据检索点实现此功能允许我们在任何客户端asp.net、silverlight等中支持相同的功能


我们偶尔会反复讨论是否适合将逻辑添加到业务对象中,但有足够多的例外情况,例如web服务、简单集合等,我们总是回到上述设计。

不确定您的问题是什么?简单地说,您将如何使用.NET提供的专业版来编写我上面描述的对话框。@闭门人:介意告诉我您不喜欢我的问题的地方吗?那么,这是一个web winforms、wpf、silverlight、mvc或webforms应用程序吗?@ivowiblo:是winforms。标签添加。