ASP.NET方法不适用于Signalr调用,仅适用于事件

时间:2018-02-28 22:13:46

标签: c# asp.net signalr

我有一个方法initGrdAvail(),它从MySQL数据库获取gridview的最新信息并更新gridview

    private void initGrdAvail()
    {
        string selectedDept = drpLstDepts.SelectedItem.Text;
        string query;
        if (selectedDept == "ALL")
            query = "SELECT unitnum,department,rank,name FROM units WHERE status='Available'";
        else
            query = "SELECT unitnum,department,rank,name FROM units WHERE status='Available' AND department='"+selectedDept+"'";
        using (MySqlConnection con = new MySqlConnection(cnnStrData))
        {
            using (MySqlCommand cmd = new MySqlCommand(query))
            {
                cmd.Connection = con;
                MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                grdViewDisAvailable.DataSource = ds;
                grdViewDisAvailable.DataBind();
            }
        }
    }

此方法在按钮单击事件上调用它或在下拉列表中选择的索引更改事件时工作正常。

这是从SignalR调用的地方:

        HubProxyRegister.On<string, string>("UpdateUnitStatus", (username, status) =>
        { initGrdAvail(); });

但是,从传入的Signalr事件调用此方法时,它不会更新gridview。我可以看到这个方法正在调用并通过调试完全运行,但是当从某种按钮事件调用该方法时,它只在页面上显示更新的gridview。

我对ASP.NET很新,这与Signalr没有使用回发或其他东西有关吗?我尝试了一下,但还没有多少运气。

谢谢!

0 个答案:

没有答案