C#如何使用Task

时间:2015-06-25 02:41:33

标签: c# .net-4.5

基本上我有一个网页,当我输入一个框时,它会导致回帖,我只想填写我的数据表。然而,我无法理解如何使用任务填充此数据表。

任何帮助都会很棒!

protected void RadInput_TextChanged(object sender, EventArgs e)
    {
        Task<DataTable> mytab = myTable(simpleTextBox.Text);
        simpleGrid.DataSource = mytab;
        simpleGrid.DataBind();
        Page.ClientScript.RegisterStartupScript(this.GetType(), "refocus", "refocus()", true);
    }

    private async Task<DataTable> myTable(string searchClause)
    {
        DataTable myTab = new DataTable();
        myTab.Columns.Add("Results");
        for (int i = 0; i < myResults.Length; i++)
        {
            if (myResults[i].ToLower().StartsWith(searchClause.ToLower()))
            {
                DataRow dtRow = myTab.NewRow();
                dtRow[0] = myResults[i];
                myTab.Rows.Add(dtRow);

            }
        }

        return myTab;


    }



    private static string[] myResults = { "Apples", "Pears", "Bananas", "Oranges", "Advil", "Populate", "Bear" };

1 个答案:

答案 0 :(得分:0)

您无法将网格绑定到任务 如果要使用“任务”,可以使用以下某个

simpleGrid.DataSource =await mytab; //You must mark the event as async

simpleGrid.DataSource =mytab.Result;

如果您在myTable()中没有IO操作,则只能返回DataTable而不是任务

您可以在此处详细了解“任务” Task Parallel Library