【问题标题】:How to handle form submission data ASP.NET?ASP.NET如何处理表单提交数据?
【发布时间】:2015-07-02 17:28:18
【问题描述】:

对于 ASP.NET 来说还是很新的。当用户填写并提交表单时,我需要将输入字段信息写入数据库。那么,第一个问题。最好在按钮单击事件中执行此操作,还是在页面加载时执行 isPostBack 事件(如果可能,就像我说的还是新的)。 然后,我被告知不要使用原始控件插入数据,例如。插入表(示例)值(txtExample.Text)。我可以看到先将它存储在一个变量中,然后再使用该变量,但有没有更好的方法我没有想到?也许使用 Request.form[" "] 的东西?

【问题讨论】:

  • 您真的很想从一些关于 ASP.NET 的介绍性教程开始。提交带有按钮的表单并从控件中获取值是非常介绍性的功能。几乎任何教程都将涵盖将数据写入数据库。作为一条建议...您问题的后半部分无疑是指使用查询参数,而不是直接将输入值连接到 SQL 命令中。它与使用变量无关。在 .NET 中查找参数化查询。
  • 也许你应该从这里开始:asp.net/web-forms
  • 看看我创建的this sample。您可以看到它如何创建Product 的实例,填充表单控件中的字段,然后将其传递到数据存储库以保存到数据库。请注意,这一切都是在按钮单击处理程序中完成的,而不是 Page_Load

标签: c# asp.net webforms


【解决方案1】:

最好在按钮单击事件中执行此操作,还是在页面加载时执行 isPostBack 事件

不要在Page_Load 中执行此操作 - 保存应该是对某种控制事件(如按钮单击)的响应。

然后,我被告知不要使用原始控件插入数据,例如。插入表(示例)值(txtExample.Text)。我可以看到先将它存储在一个变量中,然后再使用该变量。有没有更好的方法我没有想到?

是的,创建一个单独的类,它负责加载和保存对象。典型的方法是在代码隐藏中创建一个对象,将其属性值设置为表单中的值(例如txtExample.Text),然后将该对象传递给另一个将其保存到数据库的类,但是将对象属性映射到数据库列是合适的。

这就是像实体框架这样的 ORM 需要大量映射工作的地方 - 您所做的就是创建一个对象,将其添加到上下文中,将其状态设置为“已修改”,然后 EF 负责所有列映射.

【讨论】:

    猜你喜欢
    • 2016-11-23
    • 2018-02-03
    • 2011-02-07
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 2012-01-24
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多