【发布时间】:2012-12-08 09:13:11
【问题描述】:
我遇到了一个问题,我有多个表单,上面有多个控件 (20-40)。问题是当我处理回发时,我需要将它们的值放入变量中,如果它们不是 asp.net 服务器控件(即选择、输入等),我有时需要确保它们甚至存在。因此,如果我有一个未选中的纯 html 复选框,它将不会被发布到服务器,您需要检查它的存在,然后才能获得它的值。之后,我需要将它们传递给一个方法以保存到数据库中。该方法处理我所有的 crud 和业务验证。设置它充其量是乏味的并且非常耗时。人们在做什么来处理这个问题?我正在使用 ASP.Net 4.0 Web 表单和 VB.Net。一种想法是将 http 上下文传递到方法中,并让方法中的代码查找值。不过,这似乎不是一个很好的解决方案。任何建议都将不胜感激,因为我知道我不是唯一遇到这个问题的人。提前致谢。
韦德
【问题讨论】:
-
“如果它们不是 asp.net 控件”是什么意思,它们是用户控件吗?另外,“他们甚至存在”是什么意思?如果可能的话,你能把代码贴出来吗?
-
如果它们是 HTML 控件,例如 select、input、textarea 等...我的意思是如果它们存在,是一个复选框(不是 asp.net 服务器控件)已检查,不会回传到服务器(stackoverflow.com/questions/11424037/…)。所以我不确定代码将如何提供帮助,因为问题是关于处理大量发布值的最佳方式。 HTH。
-
您是否有可能创建一个代表您的表单字段/数据结构的类。如果是这样,那么为每个表单创建一个这样的类。然后你就知道从你的表格中得到什么了。如果您的复选框没有返回,那么它们是错误的。
-
一般来说,如果您将 ASP.NET 与 WebForms 一起使用,您也可以使用它带来的功能。这意味着,您将不会使用普通的(不带 runtat=server)HTML 控件,而是始终使用带有 runat=server 的控件,包括 HREF、INPUT 等……所以您不必担心这一切,因为它们将自动配备视图状态(客户端状态在服务器和客户端之间来回移动)
-
显示一些有问题的示例的简单文本将有助于理解您的意思。
标签: asp.net