C# 用FindControl填充文本框

C# 用FindControl填充文本框,c#,asp.net,findcontrol,C#,Asp.net,Findcontrol,我有多个文本框,我想用同样的方法编程填充它们 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdateProgress ID="Upda

我有多个文本框,我想用同样的方法编程填充它们

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>    
    <asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="500">
        <ProgressTemplate>
            <div id="FreezeUpdate" class="FreezePaneOn">
               <div id="InnerFreezePane" class="InnerFreezePane gradient"><asp:Literal ID="litProgress" runat="server" Text="<%$ Resources:LocalizedText, freezeMsg_ProcessingPleaseWait %>"></asp:Literal></style></div>
            </div>
        </ProgressTemplate>
    </asp:UpdateProgress>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <asp:TextBox ID="tbxCollectionAddress" runat="server" TextMode="MultiLine" ReadOnly="True" CssClass="address"></asp:TextBox>
        <asp:TextBox ID="tbxReturnAddress" runat="server" TextMode="MultiLine" ReadOnly="True" CssClass="address"></asp:TextBox>
    </asp:UpdatePanel>
</asp:Content>
当我像下面这样调用这个方法时

PopulateAddress("tbxReturnAddress", CollectionAddress);
…我有个例外

System.NullReferenceException:对象引用未设置为对象的实例

…并突出显示
txtAddress.Text=“Hello World”

我想用这个方法这样做,因为我需要在表单上填充三个单独的地址,但我想尝试使用可重用代码,通过输入address对象和textbox id来完成,但我只是在findcontrol阶段就失败了


我遗漏了什么?

首先,测试你的函数

  TextBox txtAddress = (TextBox)FindControl("tbxReturnAddress");

你可以这样试试

  TextBox txtAddress = (TextBox)Page.FindControl("tbxReturnAddress");
编辑

如果文本框位于
更新面板中

  TextBox txtAddress = (TextBox)UpdatePanel1.FindControl("tbxReturnAddress");

这是否有帮助:我得到了同样的结果:(我已经用html部分更新了这个问题…文本框是否存在于更新面板中有关系?太棒了!非常感谢!我没有意识到更新面板会像那样影响映射。每天学点新东西。再次感谢!)
  TextBox txtAddress = (TextBox)UpdatePanel1.FindControl("tbxReturnAddress");