我需要在另一个DataList
内使用DataList
。它对我来说很好,但是当我尝试用代码做后面的事情时,它就不存在于C#中。这是代码:
...
<asp:DataList ID="DataListDziennik" runat="server"
DataSourceID="SqlDataSourcePrzedmioty">
<ItemTemplate>
<asp:Label ID="LabelPrzedmiot" runat="server" Text='<%# Eval("przedmiot") %>' />
...
<asp:DataList ID="DataListOceny" runat="server"
DataSourceID="SqlDataSourceOceny"
RepeatDirection="Horizontal"
OnItemCommand="DataListOceny_ItemCommandOceny"
OnEditCommand="DataListOceny_EditCommandOceny">
<EditItemTemplate>
<asp:TextBox ID="TextBoxOcena" runat="server" Text='<%# Bind("lista") %>' />
<td><asp:Button ID="ButtonZapisz" CommandName="Update" runat="server" Text="Zapisz" /></td>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox Width="20" ID="TextBoxOcena" ReadOnly="true" Text='<%# Eval("lista") %>' runat="server"></asp:TextBox>
<td><asp:Button ID="ButtonEdytuj" CommandName="Edit" runat="server" Text="Edytuj" /></td>
</ItemTemplate>
</asp:DataList>
</td>
</ItemTemplate>
</asp:DataList>
当我在后面的代码中写这个:
protected void DataListOceny_EditCommand(object source, DataListCommandEventArgs e)
{
DataListOceny.EditItemIndex = e.Item.ItemIndex;
DataListOceny.DataBind();
}
... Visual Studio告诉我DataListOceny does not exist in current content
。我只是希望能够在点击&#34;编辑&#34;之后在DataListOceny
上编辑项目。按钮,它可以放在网站的任何地方。你知道解决这个问题的方法吗?
答案 0 :(得分:2)
因为DataListOceny是另一个控件内部的控件,所以你必须通过执行以下操作来引用它:
DataList DataListOceny = (DataList)e.Item.FindControl("DataListOceny");
一旦这样做,就可以使用DataListOceny变量。希望这会有所帮助。