我有多个文本框,我想用相同的方法以编程方式填充它们。
<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>
那么方法...
protected void PopulateAddress(string txtTextbox, Address adrAddress)
{
TextBox txtAddress = (TextBox)FindControl(txtTextbox);
txtAddress.Text = "Hello World";
}
当我像下面这样调用这个方法时......
PopulateAddress("tbxReturnAddress", CollectionAddress);
...我得到例外...
System.NullReferenceException:对象引用未设置为对象的实例。
...它突出显示了这txtAddress.Text = "Hello World";
条线。
我想用这个方法这样做,因为我需要在表单上填充三个单独的地址,但我想尝试使用可重用的代码通过输入地址对象和文本框来完成它id,但我只是在 findcontrol 阶段摔倒了。
我错过了什么?