-1

我在按钮 onclick 事件中有一个函数:

 protected void show()
    {
        try
        {

            SqlConnection con = new SqlConnection(getconnectionstring());
            con.Open();
            DataTable dt = new DataTable();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "paging_select";
            cmd.Connection = con;

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@startrowindex", current_page_number);
            cmd.Parameters.AddWithValue("@maximumrows", page_size);
            cmd.Parameters.Add("@totalrows", SqlDbType.Int, 4);
            cmd.Parameters["@totalrows"].Direction =
                          ParameterDirection.Output;
            SqlDataAdapter sda = new SqlDataAdapter(cmd);



            sda.Fill(dt);
            int totalRows = (int)cmd.Parameters["@totalrows"].Value;
            sda.Dispose();
            gridview.DataSource = dt;
            gridview.DataBind();
            con.Close();
           // Response.Write("Total rows=" + totalRows + "<br/>");


            //Response.Write("total pages will be" + totalpages_counter(totalRows).ToString() + "having 3 records per page" + "<br/>");
            label2.Text = current_page_number.ToString();
          //  label2.Visible = false;
            label3.Text = totalpages_counter(totalRows).ToString();
           // label3.Visible = false;
          //  Response.Write("Page" + " " + label2.Text + " " + "of" + " " + label3.Text);

        }
        catch (Exception ee)
        {
            Response.Write(ee.Message);
        }

    }

执行它给出一个错误。

错误 1 ​​'show' 没有重载匹配委托 'System.EventHandler'

我希望它是因为函数没有参数。但我的问题是我想在一个可能没有任何参数的函数中执行这段代码,即 受保护的返回类型函数名()。它应该是这样的,因为我必须从其他地方调用这个函数。或者更好的是,您可以告诉我如何调用以下类型的函数:

protected void show(Object sender,EventArgs e)
4

2 回答 2

1

只需从具有正确签名的单击处理程序中调用您的方法:

private void Button1_Click(object sender, EventArgs e)
{
    show();
}
于 2012-08-01T12:19:34.673 回答
0

再添加一个答案,为动态创建的控件(或仅通过代码而不是设计器绑定的事件)提供替代方案。

myButton.Click += new EventHandler((sender, e) => show());

这将设置简单的事件处理程序,然后调用您的show()方法。

于 2012-08-01T12:55:33.653 回答