C# e、 Item.FindControl抛出未设置为对象实例的对象引用

C# e、 Item.FindControl抛出未设置为对象实例的对象引用,c#,asp.net,repeater,findcontrol,C#,Asp.net,Repeater,Findcontrol,下面是引发异常的重复程序代码部分。。。“Computer.Administrators”是StringCollection对象。调试器显示“AdminsEnumerator.Current”获取正确的字符串值,但当“txtAdministrators.Text”尝试设置值时,会引发异常。请帮忙提些想法 <asp:Repeater ID="repeatAdministrators" OnItemDataBound="repeatAdministrators_ItemDataBound" ru

下面是引发异常的重复程序代码部分。。。“Computer.Administrators”是StringCollection对象。调试器显示“AdminsEnumerator.Current”获取正确的字符串值,但当“txtAdministrators.Text”尝试设置值时,会引发异常。请帮忙提些想法

<asp:Repeater ID="repeatAdministrators" OnItemDataBound="repeatAdministrators_ItemDataBound" runat="server">
    <HeaderTemplate>
        <tr>
            <td class="formLabel">
                Administrators:
            </td>
            <td class="formInputText">
    </HeaderTemplate>
    <ItemTemplate>
        <asp:TextBox ID="txtAdministrators" runat="server" MaxLength="50" Enabled="False"></asp:TextBox><br />
    </ItemTemplate>
    <FooterTemplate>
        </td> </tr>
        <tr>
    </FooterTemplate>
</asp:Repeater>

您需要确保不在标题项中:

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
}

(很抱歉,这是内存中的,但应该放在ItemDataBound方法中)

我确认。(为您修复了语法)谢谢,在我的mac上,没有快速访问MSDN或Intellisense:)
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
}