【问题标题】:ASP.NET: Unable to retrieve values for controls located in a panel after postbackASP.NET:回发后无法检索面板中控件的值
【发布时间】:2016-02-22 23:05:26
【问题描述】:

我在面板中放置了一些控件。当页面回发时,我试图检索发布的值,但似乎只有旧值存在。

Protected Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
  Dim _txtFName As TextBox = FindControl("editNamePanel").FindControl("txtFName")
  Dim _txtMName As TextBox = FindControl("editNamePanel").FindControl("txtMName")
  Dim _txtLName As TextBox = FindControl("editNamePanel").FindControl("txtLName")
End Sub        

即使我将鼠标悬停在 e EventArgs 上也是空的。我错过了什么吗?

编辑

当我将上述代码放入页面加载事件处理程序时,我得到了新值

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 
Handles Me.Load
   If Page.IsPostBack Then
      'The above code here ...
   End If
End Sub

感谢您的帮助

【问题讨论】:

    标签: asp.net vb.net postback


    【解决方案1】:

    在你的 aspx 中

    <asp:Panel ID="editNamePanel" runat="server">
        <asp:TextBox ID="txtFName" runat="server"></asp:TextBox>
        <asp:TextBox ID="txtMName" runat="server"></asp:TextBox>
        <asp:TextBox ID="txtLName" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="Button" />
        </asp:Panel>
    

    在你的代码后面

     Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
        Dim _txtFName As TextBox = txtFName
        Dim _txtMName As TextBox = txtMName
        Dim _txtLName As TextBox = txtLName
    End Sub
    

    【讨论】:

    • 这并没有改变结果。我仍然得到旧值。
    猜你喜欢
    • 2018-03-23
    • 2011-03-14
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    相关资源
    最近更新 更多