我有一个GridView
和GridView
中的一列,其linkButton
点击后会打开modalpopupextender
。我能够在popextender
面板中绑定数据,但现在我想从该面板中检索数据。
我从每个GridRow
获取数据,如:
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
}
我一直在寻找答案,但无法找到问题的解决方案。 提前谢谢。
答案 0 :(得分: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");
}
//然后用标签做点什么。
答案 1 :(得分:1)
感谢Abide的有用帖子......最后我找到了解决方案......
Panel.FindControl("ControlId");
无法正常工作,因为somtimes面板未添加到页面中。
我们可以使用此代码。它工作正常。
foreach( Control cntrl in Panel.Controls )
{
if(cntrl.ID == "RequiredConteolId")
{
//your application code goes here...
}
}