【发布时间】:2019-12-15 09:27:06
【问题描述】:
我有一个使用模型的创建视图,哦,假设是客户。在HttpGet 上,如果我像大多数教程一样不传递任何客户对象,那么我不能使用像@Model.CustomerID 等任何语句。如果我确实选择使用@Model.xxxx 语句,它们将因缺少客户对象而失败。所以一切都很好,因为在创建视图上,创建视图上的 HttpGet 请求中不需要数据。
然后,当用户输入所有请求的数据并单击提交按钮时,我的 JavaScript 开始验证。假设虽然我不检查或无法检查每一个可能的错误。回发发生并且服务器验证代码发现错误。我想在创建视图中发布服务器端验证错误。没问题,因为我在页面上有一个验证摘要。但是,由于视图上没有 @Model.xxxxx 语句来从模型中提取数据,因此忽略了客户的数据,并且只向他显示错误消息。当然,解决方法是在 HttpGet 和 HttpPost 上都传递一个 Customer 对象作为模型。
然后,我将传递一个 Customer 对象,其字符串初始化为 string.Empty,ints 等初始化为 0 或其他。然后我添加@Model.xxxxx 语句来提取数据。当然,在HttpGet 和HttpPost 上都提取了数据,但这没关系,因为我如上所述初始化了 Customer 对象。
我已经完成了所有这些并且它有效,但这是否遵循最佳实践?我是不是哪里出错了?
【问题讨论】:
-
你在使用属性属性吗?你能给我们看一些代码吗?
-
是的,我正在使用属性。