在asp.net中预渲染事件

pet*_*ter 0 c# asp.net

protected void rgStateTax_PreRender( object sender, EventArgs e )
{
    if( rgStateTax.MasterTableView.IsItemInserted )
    {
        foreach( GridItem item in rgStateTax.Items )
        {
            item.Visible = false;
        }
    }

    if( rgStateTax.EditItems.Count > 0 )
    {
        foreach( GridDataItem item in rgStateTax.Items )
        {
            if( item != rgStateTax.EditItems[0] )
            {
                item.Visible = false;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这里,rgStateTax是Rad网格控件.是否有任何理由将物品标记为不可见?PreRender是页面实际显示在屏幕上之前的事件,对吗?

Jos*_*non 5

PreRender是在生成给定控件/页面的HTML之前发生的事件(稍后将发送到浏览器).因此,通过在此处设置item.Visible = false,它将不会呈现给HTML(但它将是ViewState).

在这种情况下,当用户编辑/插入一个项目时,代码隐藏了RadGrid中的所有行,我认为这样可以减少最终用户的注意力.