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

时间:2013-07-27 10:49:26

标签: c# asp.net events

我有一个ASP.NET用户控件,其中包含Telerik Report Viewer和一个按钮(服务器控件)。

我需要在按钮的click事件中处理一些内容,但事件似乎没有触发。

有谁知道为什么会这样?

以下是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!");
    }

1 个答案:

答案 0 :(得分:0)

删除 if(!PostBack)语句。您应该始终初始化控件,不仅仅是页面没有回发。