1

我在 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();

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

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

4

3 回答 3

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;        
于 2013-03-10T00:14:42.423 回答
2

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

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

GetList(对象发送者,EventArgs e)

希望这有帮助!

于 2013-03-10T00:14:08.653 回答
0

我使用了一种不同的方法(通过创建数据表并将其绑定到适配器..)来使其工作。感谢您尝试帮助我解决问题。

于 2013-03-10T02:04:50.537 回答