1

と、クリックすると開くGridView列がGridViewあります。パネルでデータをバインドできますが、そのパネルからデータを取得したいと考えています。次のようなそれぞれからデータを取得しています:linkButtonmodalpopupextenderpopextenderGridRow

 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
  }

答えを探しましたが、問題の解決策を見つけることができませんでした。前もって感謝します。

4

2 に答える 2

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");
   }

//その後、ラベルを処理します。

于 2013-01-03T09:05:03.283 に答える
1

便利な投稿をありがとうAbide ...ついに解決策を見つけました...

Panel.FindControl("ControlId");

ページにパネルが追加されないことがあるため、正常に動作しません。

このコードを使用できます。正常に動作します。

foreach( Control cntrl in Panel.Controls ) 
{   
  if(cntrl.ID == "RequiredConteolId")    
   {
      //your application code goes here...
   } 
}
于 2013-01-03T15:22:03.517 に答える