2010-02-01 65 views
1

我是ASP.NET新手,我試圖讓此Ajax ModalPopupExtender工作。這是我在網上找到的一個例子,但是當點擊btnpopup時沒有任何反應。需要簡單的ASP.NET ModalPopupExtender示例幫助

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ModalTestProject._Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled Page</title> 
</head> 
<body> 

<form id="form1" runat="server"> 

<asp:scriptmanager id="ScriptManager1" runat="server"> 
</asp:scriptmanager> 

<asp:Button ID="btnpopup" runat="server" Text="Button" /> 

<ajaxToolkit:ModalPopupExtender ID="mpe" runat="server" TargetControlID="btnpopup" PopupControlID="pnlpopup" 
    CancelControlID="btnCancelpopup" EnableViewState="true" DropShadow="true" /> 

<asp:Panel ID="pnlpopup" runat="server" Width="400px"> 
    test 
    <asp:Button ID="btnCancelpopup" runat="server" Text="Button" /> 
</asp:Panel> 

</form> 

    </body> 
</html> 

回答

0

我認爲你缺少Register指令。您應該

'<%@頁後添加類似

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolKit" %> ...%>」指令

0

確保您的項目引用 'AjaxControlToolkit.dll'

確保您的web.confog包含以下部分:

<controls> 
<add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/> 
... 
</controls> 

嘗試包裹整個硫納克在一個UpdatePanel像這樣:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
<ContentTemplate> 
<asp:Button ID="btnpopup" runat="server" Text="Button" /> 

<ajaxToolkit:ModalPopupExtender ID="mpe" runat="server" TargetControlID="btnpopup" PopupControlID="pnlpopup" 
    CancelControlID="btnCancelpopup" EnableViewState="true" /> 

<asp:Panel ID="pnlpopup" runat="server"> 
    test 
    <asp:Button ID="btnCancelpopup" runat="server" Text="Button" /> 
</asp:Panel> 
</ContentTemplate> 
</asp:UpdatePanel> 
0

我有同樣的問題,我已經從母版頁繼承ScriptManager

一切都不起作用,如果我扭轉控制,這意味着PopUpControlID=btnpopupTargetControlID=pnlpopup,然後它會工作,並與DropShadow=True,該btnpopup就會有陰影效果的影響。我想知道爲什麼modalpopup的反向邏輯適用於按鈕而不是面板?

請注意,從Master Page繼承的ScriptManager將不起作用,如果您將單個ScriptManager放在您的頁面上,它將正常工作。

乾杯!

1

我從來沒有能夠使彈出擴展工作!從來沒有,不管這個頁面或例子有多麼簡單或基本,那就是!

即使這個最基本的例子也不行!是的,該工具包已安裝!按下按鈕時,沒有任何反應!

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" %> 

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head id="Head1" runat="server"> 
    <title>Untitled Page</title> 
</head> 
<body> 

<form id="form1" runat="server"> 

<asp:scriptmanager id="ScriptManager1" runat="server"> 
</asp:scriptmanager> 

<asp:Button ID="btnpopup" runat="server" Text="Button" /> 

<asp:ModalPopupExtender ID="mpe" runat="server" TargetControlID="btnpopup" PopupControlID="pnlpopup" 
    CancelControlID="btnCancelpopup" EnableViewState="true" DropShadow="true" /> 

<asp:Panel ID="pnlpopup" runat="server" Width="400px"> 
    test 
    <asp:Button ID="btnCancelpopup" runat="server" Text="Button" /> 
</asp:Panel> 

</form> 

    </body> 
</html> 

我已經浪費了更多的時間與這個東西,然後任何人都應該花!我製作了自己的自定義彈出式擴展器,它完美無瑕!

2

嘗試使用ToolkitScriptManager代替的ScriptManager的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="atk" %> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title> 
    </title> 
    <style type="text/css" media="screen"> 
     @import url("../css/Main.css"); 
    </style> 
    <script type='text/javascript' src="../js/jquery-1.7.1.min.js"></script> 
</head> 
<body class="template"> 
    <form id="form1" runat="server"> 
    <atk:ToolkitScriptManager ID="ScriptManager1" 
     runat="server" EnableScriptGlobalization="True"> 
    </atk:ToolkitScriptManager> 
0

您可以顯示使用JavaScript彈出面板。我不確定是否還有其他方式,但這種方式就像一種魅力。我用它來創建一個評論控件。

function show_panel() { 
    $find('popup_panel').show(); 
    return false; 
} 

控制觸發事件:

<input id="btnReply" type="button" class='comment-reply' onclick="show_panel();" 
     value="reply" runat="server" /> 

最後,在彈出的擴展和彈出面板。只需將cc1前綴更改爲您正在使用的任何內容,例如。 asp,ajaxtoolkit等

 <cc1:ModalPopupExtender ID="ModalPopupExtender2" runat="server" 
       CancelControlID="CancelButton" BehaviorID="popup_panel" 
       TargetControlID="Hidden1" PopupControlID="PopupReplyPanel" 
       BackgroundCssClass="modalBackground" DropShadow="true" > 
     </cc1:ModalPopupExtender> 

     <asp:Panel ID="PopupReplyPanel" class="popup-panel" runat="server"> 
      <div class="popup-panel"> 
       Your popup panel 

       <span class="ok-cancel-btns"> 
        <input id="Hidden1" type="hidden" runat="server"/> 
        <asp:Button ID="okButton" runat="server" Text="Post Comment" /> 
        <input id="CancelButton" type="button" value="Cancel" /> 
       </span> 
      </div> 
     </asp:Panel> 

下面是我使用的樣式,您顯然需要更改其中的一些以適合您的需求。

<style> 
     /*Modal Popup Styles*/ 
     .modalBackground{background-color:black;opacity:0.4;filter:alpha(opacity=40); /* For IE8 and earlier */} 
     .popup-panel{padding:5px 5px 20px 5px;background-color:#f7f3ef;} 
     .ok-cancel-btns{padding-top:10px;float:right;} 
     .ok-cancel-btns input{margin-left:10px;text-align:right;} 
    </style>