0

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

我需要在按钮的单击事件中处理一些东西,但该事件似乎没有触发。

有谁知道为什么会这样?

这是 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!");
    }
4

1 回答 1

1

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

于 2013-07-27T11:11:07.220 回答