C# 在内容页的UpdatePanel中使用按钮不会触发单击事件

C# 在内容页的UpdatePanel中使用按钮不会触发单击事件,c#,asp.net,C#,Asp.net,我有一个网站母版页和一个内容页。每当我单击内容页中的按钮时,它不会触发要执行的click事件方法 网站管理员代码: <%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

我有一个网站母版页和一个内容页。每当我单击内容页中的按钮时,它不会触发要执行的click事件方法

网站管理员代码:

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>

<body background="../../Content/city-balcony@2x.jpg">
    <form id="form1" runat="server">
    <div class="page">

        <div id="header">
            <div id="title">
                <h1>Welcome to E-Meeting</h1>
            </div>

            <div id="logindisplay">
                <% Html.RenderPartial("LogOnUserControl"); %>
            </div> 

            <div id="menucontainer">

                <ul id="menu">              
                    <li><%: Html.ActionLink("Home", "Index", "Home")%></li>
                                <%
                                    if (Request.IsAuthenticated)
                                    {
                                %>
                    <li><%: Html.ActionLink("Chat", "ViewPage1")%></li>
                                <% }
                                %>
                    <li><%: Html.ActionLink("About", "About", "Home")%></li>
                </ul>

            </div>
        </div>

        <div id="main">
            <%="Last communicated at : " + DateTime.Now.ToLongTimeString()%>
        <asp:ContentPlaceHolder ID="MainContent" runat="server" />

            <div id="footer">
            </div>
        </div>
        <br />
        <br />
    </div>
    </form>
</body>
</html>

欢迎参加电子会议


内容页:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "Modified by click event";
    }
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    ChT
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>ChT</h2>
       <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />        
            <asp:Label ID="Label1" runat="server" Text="On Load"></asp:Label>
        </ContentTemplate>


    </asp:UpdatePanel>

</asp:Content>

受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
Label1.Text=“通过点击事件修改”;
}
红隧
红隧

无论何时单击按钮,我都希望标签文本“由单击事件修改”,但“加载时”保持不变。是否有人可以帮助您尝试在更新面板中添加触发器,如图所示:

</ContentTemplate> 
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />        
</Triggers>


并检查ScriptManager的启用部分呈现功能,如果出现,则将其删除,或者将其设置为true。您可以使用C添加一个方法来触发事件

  • 双击按钮以创建按钮单击事件
  • 添加代码以将标签文本更改为“通过单击事件修改”
  • 比如说,

    protected void Button1_Click(object sender, EventArgs e){
    
    Label1.text = "Modified by click event";
    
    }
    
    顺便说一下,您可以在aspx代码中去掉Text=“On Load”。(您的代码是:
    ,然后在.cs文件中添加页面加载方法:

     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
          Label1.text = "On load";
    
        }
    
    在这种情况下,当您打开网页时,它将显示“加载”,当您单击按钮时,它将显示“按单击事件修改”


    希望它将
    EnableEventValidation=“false”
    添加到内容页
    将来

    
    

    它将起作用

    不起作用。要验证我是否已添加受保护的无效页面加载(对象发送方,EventArgs e){Label1.Text=“通过页面加载修改”;}而调试光标仍在那里,但标签文本仍然没有得到修改。为UpdatePanel设置UpdateMode=“Conditional”后,Label1.Text始终显示“通过页面加载修改”但是文本没有从click event中得到更新您添加了ajax控件工具箱吗?如果是这样,请尝试使用AjaxControlToolkit在页面加载事件中添加它;并使用UpdateMode=“Always”
    <%@ Page Title="" EnableEventValidation="false" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>