我有一个加载两个控件,控件 A 和控件 B 的 asp.net 页面。控件 A 有一些通用的表单提交和清除按钮,它们在其自己的代码中触发点击事件,后面使用反射来调用控件 B 中的更新函数有几个输入字段。我已经对此进行了调试,但是一切似乎都井井有条;当调用控件 B 中的更新函数时,输入字段在使用 inputname.text 或 me.inputname.text 时不返回值。有谁知道为什么这不起作用?任何指导将不胜感激。
这是控件 A 的代码隐藏中的代码,它调用控件 B 的代码隐藏中的更新方法
Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSave.Click
Try
Dim lctlControl = Session("SelectedQstnCtl")
Dim methodObj = lctlControl.GetType().GetMethod("UpdateGenInfo", BindingFlags.NonPublic Or BindingFlags.Instance)
' Execute UpdateGenInfo method to update the data
methodObj.Invoke(lctlControl, Nothing)
Catch ex As Exception
'TODO: check for concurrency error here
End Try
End Sub
这是控件 B 中被调用的更新函数。会话值正在传递,但表单字段未传递。
Protected Sub UpdateGenInfo()
Dim lclUtil As New clUtility
Dim genInfo As New clGenInfo
Try
Dim dt As Integer
'Update Data for 1-2
dt = genInfo.UpdateGenInfo_E1_01_02(Session("ConnStrEP"), Me.varLastUpdate, Session("AppNo"), Session("RevNo"), _
Me.txtPrName.Text, Me.txtPrAddr1.Text, Me.txtPrAddr2.Text, _
Me.txtPrCity.Text, Me.txtPrState.Text, Me.txtPrZip.Text)
Catch ex As Exception
'Display error
lclUtil.DisplayMsg(Me.lblErrMsg, String.Format("Error Location: Sub LoadGenInfo (ctlE1_01_02) {0}", ex.Message))
End Try
End Sub