1
ここで例外をスローするリピータコードの一部です... "Computer.Administrators"はStringCollectionオブジェクトです。デバッガは、 "AdminsEnumerator.Current"が正しい文字列値を取得するが、 "txtAdministrators.Text"が値を設定しようとしたときに例外がスローされることを示しています。アイデアを助けてください。e.Item.FindControl throwオブジェクト参照がオブジェクトのインスタンスに設定されていません
<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>
これはコードの背後にあります。
あなたは、ヘッダー項目にないです確認する必要がありますprotected void btnPing_Click(object sender, EventArgs e)
{
//...
repeatAdministrators.DataSource = Computer.Administrators;
repeatAdministrators.DataBind();
}
protected void repeatAdministrators_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
TextBox txtAdministrators = e.Item.FindControl("txtAdministrators") as TextBox;
StringEnumerator AdminsEnumerator = Computer.Administrators.GetEnumerator();
while (AdminsEnumerator.MoveNext())
{
txtAdministrators.Text = AdminsEnumerator.Current;
}
}
私は確認。 – mbillard
Ok、thnks :) これは本当にうまくいきます –
ありがとう、私のMacで、MSDNまたはIntellisenseにすばやくアクセスできませんでした:) – Jonas