ASP.NET控件分配给属性null

本文关键字:属性 null 分配 NET 控件 ASP | 更新日期: 2023-09-27 18:26:43

我有一段代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        _SearchResult.GridViewChanged += _SearchResult_GridViewChanged;
    }
    public Control GvControls { get; set; }
    protected void _SearchResult_GridViewChanged(object sender, Orders.GridViewChangedEventArgs e)
    {
        this.GvControls = e.GControl;            
    }
    protected void export_ServerClick()
    {
        new ExportGridView(this.GvControls,"report");
    }

一个控件生成带有事件arg的事件并通过arg推送控件,然后另一个(此)控件使用此arg 进行一些俯卧撑

我什么时候尝试推CCD_ 1属性CCD_。为什么会发生这种事。

ThankX

ASP.NET控件分配给属性null

所有变量(甚至控件)都在页面生命周期结束时处理。这就是为什么必须在回发时重新创建所有动态创建的控件的原因。出于同样的原因,您必须使用所需值重新初始化变量。

因此,我假设GridViewChanged-事件首先被触发。然后,用户单击触发export_ServerClick事件处理程序的另一个按钮。在这一点上,字段GvControls具有其默认值null的增益。

您必须将该值保存在某个位置,例如Session中。

管理ASP.NET应用程序中持久用户状态的九个选项

然而,我认为你不应该坚持控制本身。也许存储控件的ID就足够了。也许在导出之前从数据源再次加载它更好,原因有两个:

  1. 显示的数据可能已经过时,因为其他用户已经更改了它
  2. 你不需要在控件中摆弄字符串,但你有原始值