0

我在 WebService 中创建了一个 WebMethod,它使用存储过程来查找您要搜索的任何内容。

[WebMethod]
public DataSet getMyData(string search)
{
    using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"))
    {
        conn.Open();
        SqlCommand cmd = new SqlCommand("searchingads", conn);
        SqlDataAdapter da;
        DataSet ds = new DataSet();
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@search", search);
        da = new SqlDataAdapter(cmd);
        da.Fill(ds, "MyData");

        conn.Close();


        conn.Close();
        return ds;
    }

我不知道如何从 ASP.NET 应用程序调用此方法。我有一个按钮,单击该按钮时需要调用此方法并填充 GridView。

我的 ASP.NET Web 应用程序中有以下代码(单击按钮):

WebService1 service = new WebService1();

GridView2.DataSource = service.getMyData(TextBox1.Text);
GridView2.DataBind();

Label1.Text = service.HelloWorld();

单击按钮时标签切换到“hello world”,但是当我进行搜索时它没有给我任何表格。

预先感谢您的帮助。

4

2 回答 2

0

请使用这个

GridView2.DataSource = service.getMyData(TextBox1.Text);

代替

GridView2.DataSource = service.IskanjeOglasov(TextBox1.Text);

于 2013-03-22T11:53:33.560 回答
0

如果您已经测试了搜索逻辑及其返回数据,那么尝试将数据表分配为数据源而不是数据集。

GridView2.DataSource = ((DataSet)service.getMyData(TextBox1.Text)).Tables[0];
GridView2.DataBind();

在这里,我删除了数据集的检查部分。这可能会奏效。

于 2013-03-22T13:38:22.943 回答