【问题标题】:ModalPopup not working in the Content Page of the Master PageModalPopup 在母版页的内容页面中不起作用
【发布时间】:2011-04-22 11:13:05
【问题描述】:

这是我的内容页面

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link type="text/css" rel="Stylesheet" href="StyleSheet.css" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <asp:ScriptManager ID="script1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="up1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:Panel ID="pnl1" runat="server" Height="200" Width="200" CssClass="modalPopup">
                <h1>
                    Hello World
                </h1>
            </asp:Panel>
            <asp:Button ID="btnShow" runat="server" Text="Show" />
            <cc1:ModalPopupExtender ID="mpEditComment" runat="server" PopupControlID="pnl1" TargetControlID="btnShow"
                BackgroundCssClass="modalBackground">
            </cc1:ModalPopupExtender>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

这是我的母版页

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!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></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>
    </form>
</body>
</html>

【问题讨论】:

    标签: asp.net-ajax


    【解决方案1】:

    通常您应该将 ScriptManager 放在您的母版页中。然后在您的 aspx 页面中放置一个 ScriptManagerProxy 或 ToolkitManagerProxy。此外,如果您使用的是 .Net 4.0,那么您可能需要指定 AjaxFrameworkMode="Enabled"

    您不需要 UpdatePanel 来进行这个 hello world 测试。

    MasterPage.master

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
    
    <!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></title>
        <asp:ContentPlaceHolder ID="head" runat="server">
        </asp:ContentPlaceHolder>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" AjaxFrameworkMode="Enabled" runat="server"></asp:ScriptManager>
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>
        </form>
    </body>
    </html>
    

    Default.aspx

    <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
    
    <asp:content id="Content1" contentplaceholderid="head" runat="Server">
        <link type="text/css" rel="Stylesheet" href="StyleSheet.css" />
    </asp:content>
    <asp:content id="Content2" contentplaceholderid="ContentPlaceHolder1" runat="Server">
        <asp:ScriptManagerProxy ID="ScriptManagerProxy1"runat="server"></asp:ScriptManagerProxy>
    
        <asp:Panel ID="pnl1" runat="server" Height="200" Width="200" CssClass="modalPopup">
            <h1>
                Hello World
            </h1>
            <asp:Button runat="server" Text="ButtonOk"></asp:Button>
            <asp:Button runat="server" Text="ButtonCancel"></asp:Button>
        </asp:Panel>
    
        <asp:Button ID="btnShow" runat="server" Text="Show" />
    
        <cc1:ModalPopupExtender ID="mpEditComment" 
            PopupControlID="pnl1" 
            TargetControlID="btnShow"
            OkControlID="ButtonOk"
            CancelControlID="ButtonCancel"
            BackgroundCssClass="modalBackground"
            runat="server"  />
    
    </asp:content>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 2017-12-13
      • 2020-04-28
      • 2013-11-30
      相关资源
      最近更新 更多