3

在阅读 ASP.NET MVC 时,我遇到了一些很好的验证示例,其中业务规则与模型相关联,而 UI 仅显示错误集并标记与无效输入相关联的表单元素。我认为将这个逻辑放在一个地方而不是让每个表单都执行自己独特的验证是非常有意义的。

是否可以使用 ASP.NET Web 应用程序项目(webforms)以优雅的方式实现这种分离?我可以将验证规则保留在业务逻辑层中,并且我可以拥有执行验证并返回一组错误的方法。但是我想不出一种在 UI 端标记有问题的控件的好方法。

在 MVC 中,表单元素和模型通过属性名称隐式链接。ASP.NET 中的 UI 是否应该引用模型的唯一属性名称(作为 ID/名称或作为自定义属性)?UI 是否可以访问手动生成的控件名称到属性名称的映射?

4

2 回答 2

1

我确定我记得听说过一些关于数据注释的改进可用于 .NET 4.0 中的 WebForms,但在尝试在线搜索它之后,我开始认为我在做梦。

尽管我确实找到了一个“自己动手”的人的帖子:

http://adventuresdotnet.blogspot.com/2009/08/aspnet-webforms-validation-with-data.html

于 2009-10-07T16:48:40.227 回答
1

我喜欢这样做的一种方法是创建 CustomValidators,绑定到屏幕上的控件,并在 OnServerValidate 事件中调用我的 BL 验证。这样,我的验证逻辑就留在了一个地方。

希望它会有所帮助

于 2009-10-07T16:51:03.173 回答