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");