在asp.net中预渲染事件

时间:2009-04-06 15:36:43

标签: 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;
            }
        }
    }
}

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

1 个答案:

答案 0 :(得分:5)

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

在这种情况下,当用户正在编辑/插入我认为可以减少最终用户干扰的项目时,代码似乎隐藏了RadGrid中的所有行。