从错误后面的代码显示模态弹出窗口

时间:2011-06-20 12:24:41

标签: asp.net modalpopupextender

我有一个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。

1 个答案:

答案 0 :(得分:3)

添加一个Display:none属性的按钮。

<asp:ImageButton ID="imgcart" runat="server" style="display:none;" />

希望它对你有所帮助。