2014-01-21 4 views
0

다른 DataList 안에 DataList을 사용해야합니다. 그것은 나를 위해 잘 작동하지만, 내부에서 코드를 사용하여 무언가를하려고 할 때 C#에는 존재하지 않습니다. 나는 뒤에 코드에서 이것을 쓸 때asp.net 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(); 
    } 

... 비주얼 스튜디오 나를 DataListOceny does not exist in current content 있음을 알려줍니다 여기에 코드입니다. "편집"버튼을 클릭 한 후 DataListOceny에있는 항목을 편집 할 수있게하려면 웹 사이트 어디서나 배치 할 수 있습니다. 이 문제에 대한 해결책을 알고 있습니까? 당신이 DataListOceny 변수를 사용할 수 있습니다, 그렇게되면

DataList DataListOceny = (DataList)e.Item.FindControl("DataListOceny"); 

: DataListOceny이 다른 컨트롤의 내부 제어이기 때문에

답변

2

, 당신은 같은 것을 수행하여 참조를해야한다. 희망이 도움이됩니다.

+0

System.NullReferenceException을 반환합니다. 내 말은, – Finchsize

+0

. 나는 편집 명령이 부모 DataList에서 호출되고 있다는 인상하에있었습니다. Anywa, 대신이 시도하십시오 : 'DataList DataList DataListOcney = CType (보낸 사람, DataList)' –

+0

CType 존재하지 않는, 일부 라이브러리를 포함해야합니까? – Finchsize