我有一个包含ASP.NET图像服务器控件ID="imgCart"的数据列表。现在,当用户单击图像按钮时,我想显示一个模态弹出窗口。由于每个产品都必须具有不同的说明,因此我需要从代码后台填充网格视图。以下是该代码:
asp:DataList Id=:ImageList" OnItemCommand="Item_Command" > ItemTemplate > asp:ImageButton Id=: "imgcart"
代码后台:
protected void Item_Command(Object sender, DataListCommandEventArgs e)
{
ImageButton img = (ImageButton)e.Item.FindControl("imgcart");
string idProduct = img.ToolTip.Trim();
ModalPopupExtender1.Show();
}
一切都运行正常,只是模态弹窗没有显示。
模态弹窗的代码被放置在 datalist 外部。
<cc1:ModalPopupExtender ID="ModalPopupExtender1"
PopupControlID="PopupPanel" TargetControlID="imgcart"
runat="server">
</cc1:ModalPopupExtender>
<asp:panel id="PopupPanel" runat="server" BorderStyle="Groove"
BorderColor="black" BorderWidth="3px" BackColor="AliceBlue"
Height="200px" Width="200px" style="display: none">
<asp:Label ID="lblPopup" runat="server" Text="popup!"></asp:Label><br />
<br />
<asp:DropDownList ID="ddlData" runat="server">
</asp:DropDownList><br />
<br />
<asp:Button ID="btnPopupOK" runat="server" Text="Ok" />
<asp:Button ID="btnPopupCancel" runat="server" Text="Cancel" />
</asp:panel>
错误信息
System.InvalidOperationException: “ModalPopupExtender1”的TargetControlID无效。找不到ID为“imgcart”的控件。
请帮忙解决问题。我想从后台代码中显示模态弹出窗口!
Edit1
当我将ajax modalpopup放在数据列表中时,它会显示模态弹出窗口,但不会进入后台代码,我需要一个后台事件来获取产品ID。