Web用户控件中未引发ASP.NET按钮事件

本文关键字:ASP NET 按钮 事件 用户 控件 Web | 更新日期: 2023-09-27 18:25:13

我有一个ASP.NET用户控件,它包含一个Telerik报表查看器和一个按钮(服务器控件)。

我需要处理按钮的点击事件中的一些内容,但该事件似乎没有启动。

有人知道为什么会这样吗?

以下是UserControl:中的HTML指令

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ReportControl.ascx.cs" Inherits="TelerikReportCustomRetrive.UserControl.ReportControl" %>

以下是UserControl:中的标记

<form runat="server" id="form1">
<telerik:ReportViewer ID="ReportViewer1" runat="server" Height="461px" ShowDocumentMapButton="False" ShowHistoryButtons="False" ShowNavigationGroup="False" ShowParametersButton="False" ShowPrintPreviewButton="False"></telerik:ReportViewer>
<asp:Button runat="server" ID="btnNav" OnClick="btnNav_Click" />

代码背后的代码:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            var instanceReportSource = new InstanceReportSource
            {
                ReportDocument =
                    new TheReport()
            };
            ReportViewer1.ReportSource = instanceReportSource;
        }
    }

    protected void btnNav_Click(object sender, EventArgs e)
    {
        Response.Write("Button Fired!");
    }

Web用户控件中未引发ASP.NET按钮事件

删除if(!PostBack)语句。您应该始终初始化控件,而不仅仅是在页面未回发的情况下。