加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在ASP.NET Web窗体中收集输入值的推荐方法是什么

发布时间:2020-12-16 06:48:06 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试“按书”开发ASP.NET应用程序;我的Web窗体实现了MVP模式,我的演示者只与Services层进行对话,而不是与一堆共享我自己的EF ObjectContext的存储库进行对话.到现在为止还挺好.现在我正在解决前端问题,我陷入两难境地…… 让我说我有一个asp:TextBox
我正在尝试“按书”开发ASP.NET应用程序;我的Web窗体实现了MVP模式,我的演示者只与Services层进行对话,而不是与一堆共享我自己的EF ObjectContext的存储库进行对话.到现在为止还挺好.现在我正在解决前端问题,我陷入两难境地……

让我说我有一个asp:TextBox控件名为txtDateOfBirth并提交按钮.当用户点击按钮时,我需要将数据从ASPX发送到演示者到服务……但问题是最终我不需要String,而是DateTime?而且我不知道进行转换的最佳位置:

>我应该在ASPX页面中放置验证器,然后在代码隐藏中进行转换吗?
>或者我应该从表单中收集一堆字符串,创建一个只包含字符串的服务请求,而不是让我的商业模型执行try / convert并报告错误?

您有什么推荐的吗?任何见解都表示赞赏……

编辑:好的,在阅读并尝试了所有建议之后,我决定采用以下方法:

>代码隐藏和APSX负责数据类型转换.一世
决定使用简单的CompareValidator并检查
适当的类型,所以代码隐藏肯定可以转换它.
>从演示者到服务层的请求是恰当的
类型.
>所有其他验证都由业务层完成(包括
字符串长度,是否需要,范围,…)

解决方法

如果我理解正确,你的WebForm中有一个文本框,用户可以写一些应该是日期的东西,对吧?

有些事你可以做:

>您可以使用掩码作为文本框,格式化为您的日期格式.那将发送一个看起来像日期的字符串(检查以后的方式).我认为asp:textbox有这个选项;无论如何,MaskedEdit控件也有它:http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/MaskedEdit/MaskedEdit.aspx
>您可以使用模型类,然后根据该模型中字段的自定义决策验证输入.见:Is it possible to use Data Annotations for MVC in an ASP.NET WEBFORM Business Object Class?>您可以在发送回来之前通过WebForm中的Javascript进行验证.无论如何,它有点乱.>或者您可以在您的代码隐藏中验证它,并在某处出现错误消息时出现错误,然后重新加载您的页面.这是DataAnnotations在MVC中自动执行的操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读