检索usercontrol值(不保留在回发上)

时间:2013-07-09 08:05:15

标签: asp.net user-controls

我有一个带有usercontrol的主页面。 usercontrol包含用于过滤主页面上的网格视图的不同过滤器。我在从主页回发的用户控件中保留文本框值时遇到问题。

当在主页面上调用CallBackAudit()(以及随后的StatistikStartLevs())时, 文本框值全部为空 。但是,当页面加载完毕后,文本框值全部填充。 btnLoadFilters_Click()工作正常。

我错过了什么样的观察状态?我想这与页面生命周期有关?

用户控件

protected void btnLoadFilters_Click(object sender, EventArgs e)
{
    ((IFilter)Parent.Page).SetDataSource(StatistikStartLevs(), "giros");
}

public DataView StatistikStartLevs()
{
    DataTable dt = db.GetGiroStatsAll(((User)Session["currentUser"]).CompanyID, txtFrom.Text, txtTo.Text);
    var selection = dt.AsEnumerable();
    //Filters to come
    return selection.AsDataView();
}

主页

private void CallBackAudit(object sender, ComponentArt.Web.UI.CallBackEventArgs e)
{
    filter control = (filter)FindControl("filter");
    gridGiros.DataSource = control.StatistikStartLevs();
    gridGiros.DataBind();
    gridGiros.Style["visibility"] = "visible";
    gridGiros.RenderControl(e.Output);
}

public void SetDataSource(DataView dv, string source)
{
    switch (source)
    {
        case "giros":
            gridGiros.DataSource = dv;
            gridGiros.DataBind();
            break;
    //More to come
    }
}

0 个答案:

没有答案