2013-01-03 1 views
1

나는 GridView이고 GridView에있는 열은 linkButton이고 클릭하면 modalpopupextender이 열립니다. popextender 패널에서 데이터를 바인딩 할 수 있지만 이제는 해당 패널에서 데이터를 검색하려고합니다. 내가 좋아하는 각 GridRow에서 데이터를 점점 오전 :modalpopupextender의 패널에서 데이터 가져 오기

foreach (GridViewRow row in MyGridView.Rows) 
{     
    Label Date = (Label)row.Cells[0].FindControl("DateId"); 
    string date = Date.Text; 
    //Code to get linkButton(asp:ModalpopUpextender) and data from 
    //asp:panel of ModalpopUpextender 
    } 

내가 답을 주변 검색하지만 내 문제에 대한 해결책을 찾을 수 없습니다했다. 미리 감사드립니다.

답변

1

덕분에 유용한 게시물에 대한 준수한다 ... 마지막으로 내가 솔루션 ... somtimes 패널이 페이지에 추가되지 않기 때문에

Panel.FindControl("ControlId"); 

가 잘 작동하지 않습니다 발견했다.

우리는이 코드를 사용할 수 있습니다. 잘 작동합니다.

foreach(Control cntrl in Panel.Controls) 
{ 
    if(cntrl.ID == "RequiredConteolId")  
    { 
     //your application code goes here... 
    } 
} 
1

<ajaxToolKit:ModalPopupExtender 
      ID="mdlPopup" runat="server" TargetControlID="btnShowPopup" PopupControlID="pnlPopup" 
      CancelControlID="btnClose" BackgroundCssClass="modalBackground" /> 
     <asp:Panel ID="pnlPopup" runat="server" Width="500px" style="display:none"> 
      <asp:UpdatePanel ID="updPnlCustomerDetail" runat="server" UpdateMode="Conditional"> 
       <ContentTemplate> 
        <asp:Label ID="lblCustomerDetail" runat="server" Text="Customer Detail" Width="95%" /> 

       </ContentTemplate>     
      </asp:UpdatePanel> 

같은 설정을 겪고있는 가정 당신 수도 먼저 패널을 찾는 시도하고 다음 행 편집 이벤트에서이 코드를 넣어 제안 필요한 통제 할로 드릴 다운

gridViewTest_RowEditing(object sender, GridViewEditEventArgs e) 
{ 

gridViewTest.EditIndex=e.NewEditIndex; 
Panel myPanel = (Panel)gridViewTest.Rows(gridViewTest.EditIndex).FindControl("pnlPopup"); 
Label myLabel = (Label)myPanel.Findcontrol("lblCustomerDetail"); 
    } 

// 그런 다음 라벨을 사용하십시오.

+0

당신이 해결책을 알아 냈다고 생각하니 좋습니다. 좋은 일을 계속하십시오. –