我有一个很长的表格,用户必须填写。
因此,我将表单分解为逻辑单元,并为某些元素创建了另一个用户控件(它们将在其他地方重用)。
所以说表单有这些字段:
用户控件3.ascx
用户名密码邮箱--usercontrol2.ascx 地址--usercontrol2.ascx 城市--usercontrol2.ascx 州--usercontrol2.ascx
所以现在在 usercontrol3.ascx 的代码隐藏中,我将如何访问 usercontrol2.ascx 的字段以便我可以写入数据库?
我有一个很长的表格,用户必须填写。
因此,我将表单分解为逻辑单元,并为某些元素创建了另一个用户控件(它们将在其他地方重用)。
所以说表单有这些字段:
用户控件3.ascx
用户名密码邮箱--usercontrol2.ascx 地址--usercontrol2.ascx 城市--usercontrol2.ascx 州--usercontrol2.ascx
所以现在在 usercontrol3.ascx 的代码隐藏中,我将如何访问 usercontrol2.ascx 的字段以便我可以写入数据库?
如果用户控件 3 包含用户控件 2,我将修改用户控件 2 的代码以公开您需要检索的信息的公共属性。
编辑 还有其他方法可以做到,但是属性路由是最安全的路由,并且避免了两个控件之间的强依赖。
像这样的东西有效,但它并不优雅:
Dim txtBox as TextBox = Ctype(parentControl.Controls(Index), System.Web.UI.Controls.TextBox)
stringVariable = txtBox.Text
正确的方法是为您的 parentControl 实现访问子控件属性的属性。
Public Property AddressField() as string
Set(byval value as string)
txtAddressField.Text = value
End Set
Get
Return txtAddressField.Text
End Get
End Property