我在按钮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 returntype funtionname()。它应该是像这样因为我必须从其他地方调用这个函数。 或者更好,你可以告诉我如何调用以下类型的函数:
protected void show(Object sender,EventArgs e)
答案 0 :(得分:1)
只需使用正确签名的点击处理程序调用您的方法:
private void Button1_Click(object sender, EventArgs e)
{
show();
}
答案 1 :(得分:0)
再添加一个答案,为动态创建的控件(或仅通过代码而不是设计器绑定的事件)提供替代方案。
myButton.Click += new EventHandler((sender, e) => show());
这会设置简单的事件处理程序,然后只调用你的show()
方法。