按钮 OnClick 事件在 ASP.NET Web 窗体应用程序中不起

Button OnClick event not working in ASP.NET Web Form Application(按钮 OnClick 事件在 ASP.NET Web 窗体应用程序中不起作用)
本文介绍了按钮 OnClick 事件在 ASP.NET Web 窗体应用程序中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我按照

这是Incomplete_Prodcut.aspx文件

this is Incomplete_Prodcut.aspx file

</表单>

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Incomplete_Prodcut.aspx.cs" Inherits="albaraka.Report.Incomplete_Prodcut" %> <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div style="width: 1116px"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <br /> Type: <asp:TextBox ID="type" runat="server" Width="64px"></asp:TextBox> &nbsp;Category: <asp:TextBox ID="category" runat="server" Width="78px"></asp:TextBox> &nbsp;Country: <asp:TextBox ID="country" runat="server" Width="85px"></asp:TextBox> &nbsp;Subsidary: <asp:TextBox ID="subsidary" runat="server" Width="72px"></asp:TextBox> &nbsp; Date: <asp:TextBox ID="date" runat="server" Width="100px"></asp:TextBox> &nbsp;&nbsp;&nbsp;&nbsp; <asp:Button ID="btnShow" runat="server" Text="Button" Width="56px" /> &nbsp;<rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="397px" Width="951px" style="margin-top: 17px; margin-right: 0px;"></rsweb:ReportViewer> </div> </form> </body> </html>

这是Incomplete_Prodcut.aspx.cs文件

protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnShow_Click(object Sender, EventArgs e)
{
    ShowReport();
}

private void ShowReport()
{
    //Reset
    ReportViewer1.Reset();

    //DataSource
    ALBARAKA_Incomplete_Product_DataSet dt = GetData(type.Text, category.Text,subsidary.Text,country.Text, DateTime.Parse(date.Text));
    ReportDataSource rds = new ReportDataSource("Incomplete_Product_DataSet", dt);

    ReportViewer1.LocalReport.DataSources.Add(rds);

    //Path
    ReportViewer1.LocalReport.ReportPath = "~/Report/Incomplete_Product.rdlc";

    //Paramaeters
    ReportParameter[] rptParams = new ReportParameter[] {
        new ReportParameter("type",type.Text),
        new ReportParameter("category", category.Text),
        new ReportParameter("country",country.Text),
        new ReportParameter("subsidary",subsidary.Text),
        new ReportParameter("date",date.Text),
    };
    ReportViewer1.LocalReport.SetParameters(rptParams);

    //Refersh
    ReportViewer1.LocalReport.Refresh();

}

private ALBARAKA_Incomplete_Product_DataSet GetData(string type, string category, string country, string subsidary, DateTime? date)
{

    ALBARAKA_Incomplete_Product_DataSet dt = new ALBARAKA_Incomplete_Product_DataSet();
    string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["AB_ReportEntities"].ConnectionString;
    using (SqlConnection cn = new SqlConnection(connStr))
    {

        SqlCommand cmd = new SqlCommand("FindIncomplete_Products", cn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@type", SqlDbType.NVarChar).Value = type;
        cmd.Parameters.Add("@category", SqlDbType.NVarChar).Value = category;
        cmd.Parameters.Add("@country", SqlDbType.NVarChar).Value = country;
        cmd.Parameters.Add("@subsidary", SqlDbType.NVarChar).Value = subsidary;
        cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = date;

        SqlDataAdapter adp = new SqlDataAdapter(cmd);

        adp.Fill(dt);
    }

    return dt;
}

我在上面表单的 OnClick 事件中插入了调试点,但是一旦在调试模式下运行此应用程序并单击btnShow"按钮,此应用程序就不会指向此调试点.我的方法有什么问题?

I inserted debug point inside the OnClick event of above form, but Once run this application in debug mode and click "btnShow" button this application does not point to this debug point. whats wrong with my approach ?

推荐答案

你还没有给按钮附加事件处理程序,添加一个:-

You have not attached the event handler to the button, add one:-

<asp:Button ID="btnShow" runat="server" Text="Button" Width="56px" 
            OnClick="btnShow_Click" />

或者,您也可以像这样以编程方式附加事件:-

Alternatively, you can also attach the event programmatically like this:-

protected void Page_Load(object sender, EventArgs e)
{
    btnShow.Click += btnShow_Click;
} 

这篇关于按钮 OnClick 事件在 ASP.NET Web 窗体应用程序中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
Visual Studio 2010 ReportViewer Assembly References(Visual Studio 2010 ReportViewer程序集引用)
Weird behaviour when I open a reportviewer in WPF(在WPF中打开报表查看器时出现奇怪的行为)
how do i pass parameters to aspnet reportviewer(如何将参数传递给aspnet report查看器)
Bind multiple parameters from route and body to a model in ASP.NET Core(在ASP.NET Core中将路由和主体中的多个参数绑定到一个模型)