按钮 OnClick 事件在 ASP.NET Web 窗体应用程序中不起作用 [英] Button OnClick event not working in ASP.NET Web Form Application

查看:18
本文介绍了按钮 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 窗体应用程序中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆