[英]How do you call master page methods from a content page when the button is inside an update panel?
[英]Button inside Update Panel not working from Content Page
我面臨內容頁面內更新面板的問題,如果我將按鈕事件之類的控件放到內容頁面的UpdatePanel中,則不會觸發。
以下是我的母版頁和內容頁的結構。
在母版頁上,我正在使用更新面板進行電子郵件注冊,因此在母版頁上可以正常工作。 但是,當我嘗試在內容/子頁面上添加更新面板時,由於事件原因按鈕事件不會觸發。 我看了幾個例子,但似乎沒有任何效果。
下面是兩個頁面的結構,不確定我在做什么錯
母版頁
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MainMP.master.cs" Inherits="MainMP" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title></title>
<!-- -->
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
<!-- -->
</head>
<body>
<form id="form2" runat="server">
<asp:ScriptManager runat="server" EnablePageMethods="true">
<Scripts>
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="WebForms.js" Assembly="System.Web" />
<asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" />
</Scripts>
</asp:ScriptManager>
<!-- Page Content-->
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
<!-- Page Content -->
</form>
</body>
</html>
內容頁
<%@ Page Title="" Language="C#" MasterPageFile="~/MainMP.master" AutoEventWireup="true" CodeFile="Blog.aspx.cs" Inherits="Blog" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<!-- Some Page content ...... -->
<asp:UpdatePanel ID="updxxxx" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" >
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
如果您的按鈕在更新面板之外,則需要將該按鈕設置為更新面板中的觸發器,以使其啟動回發。
可能您可以進行如下測試,然后添加AjaxControlToolkit。
主:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="SiteTest.master.cs" Inherits="ZeroBig.m_test.SiteTest" %> <!DOCTYPE html> <html> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <asp:ContentPlaceHolder ID="head" runat="server"> </asp:ContentPlaceHolder> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <div> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> </div> </form> </body> </html>
頁:
<%@ Page Title="" Language="C#" MasterPageFile="~/m_test/SiteTest.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="ZeroBig.m_test.WebForm1" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:UpdatePanel ID="updxxxx" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:Panel ID="Panel1" runat="server"> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </asp:Panel> </ContentTemplate> </asp:UpdatePanel> </asp:Content>
Page.cs
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "hello";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.