1

aspx ページにテキスト ボックスとボタンがあります。また、ストアド プロシージャに基づいて結果を一覧表示するグリッドビューもあります。

これが私の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 に答える