2

私はASP.NETを初めて使用し、このAjaxModalPopupExtenderを機能させようとしています。これは私がネットで見つけた例ですが、btnpopupをクリックしても何も起こりません。

<%@ 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>
4

7 に答える 7

4

あなたは行方不明ですPopupControlID="pnlpopup"

于 2011-02-28T00:25:51.813 に答える
3

ScriptManager の代わりに ToolkitScriptManager を使用してみてください。

<!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>
于 2013-10-10T08:30:19.667 に答える
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>

私はこのことでより多くの時間を無駄にしました、そして誰もがこれまでに費やすべきです!完璧に機能する独自のカスタムポップアップエクステンダーを作成しました。

于 2012-02-24T23:03:57.693 に答える
1

プロジェクトが「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>
于 2010-02-01T14:29:56.633 に答える
0

Registerディレクティブが欠落していると思います。次のようなものを追加する必要があります

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolKit" %>後

`<%@ Page ...%>'ディレクティブ

于 2010-02-01T14:29:02.367 に答える
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>
于 2013-12-11T03:51:45.877 に答える
0

私は同じ問題を抱えており、ScriptManagerマスターページから継承しています。

コントロールを逆にするPopUpControlID=btnpopupTargetControlID=pnlpopup、すべてがうまくいきませんDropShadow=True。modalpopup の逆ロジックがパネルではなくボタンで機能するのはなぜでしょうか?

マスター ページから継承された ScriptManager は機能しないことに注意してください。ページ自体に単一の ScriptManager を配置すると、正常に機能します。

乾杯!

于 2011-06-13T02:03:59.083 に答える