2013-01-03 71 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

感謝恪守爲有用的帖子...我終於找到了解決辦法...

Panel.FindControl("ControlId"); 

因爲somtimes面板沒有被添加到頁面不正常工作。

我們可以使用這個code.It工作正常。

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> 

的設置,你可以嘗試先找到你的面板,然後向下鑽取到所需control.I建議把這段代碼的行編輯事件

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

偉大的,你找到了解決方案。保持良好的工作。 –