在Gridview中搜索输出

时间:2013-03-10 00:09:09

标签: c# asp.net gridview

我在aspx页面中有一个文本框和一个按钮。 我还有一个gridview,它应该根据存储过程列出结果。

这是我的C#代码示例

private void GetList(string EmployeeName)    
String strConnString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
    SqlConnection con = new SqlConnection(strConnString);
    SqlCommand cmd = new SqlCommand();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "GetEmployeeDetailsByName";
    cmd.Parameters.Add("@EmployeeName", SqlDbType.Text).Value = txtName.Text.Trim();        
    cmd.Connection = con;
    try
    {
        con.Open();
        GridView1.EmptyDataText = "No Records Found";
        GridView1.DataSource = cmd.ExecuteReader();
        GridView1.DataBind();
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        con.Close();
        con.Dispose();
    }

现在我在button_click事件中添加了以下内容

GetList();

它给了我“方法没有重载......”错误。

如何确保搜索文本框中的任何用户类型都会传入.cs文件中的GetList(**HERE**)

3 个答案:

答案 0 :(得分:3)

你没有GetList的重载没有参数,所以这不会编译:

GetList();

我会将参数的类型更改为int,因为这是必需的类型:

private void GetList(int EmployeeID)   

然后传递已解析的TextBox.Text(在您已经对其进行了解析后可以解析):

int EmployeeID = int.Parse(txtID.Text.Trim());
GetList(EmployeeID);

并更改此行:

cmd.Parameters.Add("@EmployeeID", SqlDbType.Int).Value = txtID.Text.Trim();        

cmd.Parameters.Add("@EmployeeID", SqlDbType.Int).Value = EmployeeID;        

答案 1 :(得分:2)

Button.Click事件是System.EventHandler事件委托类型。

您的方法GetList()必须接受2个参数:

GetList(对象发件人,EventArgs e)

希望这有帮助!

答案 2 :(得分:0)

我使用了一种不同的方法(通过创建数据表和绑定到适配器..)来实现这一点。感谢您帮我解决问题。