2012-06-02 60 views
0

我試圖在用戶單擊GridView中的LinkBut​​ton時顯示Modal Popup。 我爲測試放置了一個斷點,但它似乎沒有通過ModalPopupExtender.Show()事件,當我單擊GridView中的Linkbutton時。GridView中Modal Popup Extender的解決方案

protected void lnkItemName_Click(object sender, EventArgs e) 
{<---Break Point 
    ModalPopupExtender.Show(); 
} 

    <asp:GridView ID="grvItem" runat="server" AutoGenerateColumns="False" 
     DataSourceID="SqlDataSourceItem" onrowdatabound="grvItem_RowDataBound" 
     DataKeyNames="ID">         
     <Columns>     
      <asp:TemplateField >               
       <ItemStyle Font-Size="10" /> 
       <HeaderTemplate> 
        ITEM 
       </HeaderTemplate> 
       <ItemStyle Wrap="True" /> 
       <ItemTemplate>           
        <asp:LinkButton ID="lnkItemName" runat="server" Text='<%# Eval("NAME") %>' CssClass="h7" Width="100" OnClick="lnkItemName_Click"></asp:LinkButton> 
        <asp:Panel ID="pnlItem" runat="server" Style="display: none" Width="400px" Height="400px" BackColor="White"> 
         <div style="float: right;"> 
          <asp:LinkButton ID="lnkClose" runat="server">Close</asp:LinkButton> 
         </div> 
         <asp:TextBox ID="txt" runat="server">asdf</asp:TextBox> 
        </asp:Panel> 
        <asp:ModalPopupExtender ID="extPerson" runat="server" TargetControlID="lnkItemName" 
         PopupControlID="pnlItem" DropShadow="true" CancelControlID="lnkClose" /> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 

回答

1

「lnkItemName」是「extPerson」一個的TargetControlID,所以「lnkItemName_Click」不會被調用在所有 - 它改爲由ModalPopupExtender和「pnlItem」處理是automagicaly所示。如果你想,你可以刪除TargetControlID屬性,然後在服務器上調用「lnkItemName_Click」,所以你可以顯示「pnlItem」manualy - 但是,你首先必須以某種方式找到正確的「extPerson」控制(每行都有一個),將其轉換爲ModalPopupExtender,然後調用Show()。長話短說,只需簡單地刪除OnClick事件,它的用法 - 如果Modal Popup沒有顯示它現在的樣子,那麼其他的東西是錯誤的。

0

這樣做:

<ajaxToolkit:ModalPopupExtender runat="server" ID="mdlImageDetails" TargetControlID="mdConfirmbtn" 
     PopupControlID="modelDiv" BackgroundCssClass="modalBackground" > 
    </ajaxToolkit:ModalPopupExtender> 
    <asp:Button runat="server" ID="mdConfirmbtn" Style="display: none;" /> 

然後在代碼中,你可以通過調用.show().hide()方法手動控制ModalPopUp。

相關問題