我有一个datalist,它有一个ASP.NET镜像服务器控件Id =“imgCart”。现在,我想在用户单击图像按钮时显示模式弹出窗口。由于每个产品必须有不同的描述,我需要从后面的代码填充gridview。以下是代码:
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();
}
一切正常,预计模态弹出不会显示。
模态弹出的代码[我把它放在数据主义者之外]
<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:The TargetControlID 'ModalPopupExtender1'无效。一个 ID'imgcart'的控件不可能 找到。
请帮忙。我想从代码后面显示模态弹出窗口!!
EDIT1
当我将ajax modalpopup放在datalist中时,它显示的是modalpopup,但它不会出现在后面的代码中,我需要一个代码隐藏事件来获取产品ID。
答案 0 :(得分:3)
添加一个Display:none
属性的按钮。
<asp:ImageButton ID="imgcart" runat="server" style="display:none;" />
希望它对你有所帮助。