当前位置:编程学习 > C#/ASP.NET >>

请问asp.net2.0下datagrid的动态添加的模板列如何保持状态? 谢谢

现有一个绑定数据的datagrid 
我用动态添加的方式增加了一个模板列,并通过InstantiateIn()对其添加HtmlInputText,如下:
public class DataGridTemplate : System.Web.UI.ITemplate
        {
            ListItemType templateType;
            string columnName;
            public DataGridTemplate(ListItemType type, string colname)
            {
                templateType = type;
                columnName = colname;
            }
            public void InstantiateIn(System.Web.UI.Control container)
            {
                // The Hidden Field Built Dynamically
                HtmlInputText hiddenShowHideStatus = new HtmlInputText();// HtmlInputHidden();
                hiddenShowHideStatus.Value = "none";
                hiddenShowHideStatus.ID = "hiddenShowHideStatus";
                hiddenShowHideStatus.Visible = true;

                switch (templateType)
                {
                    case ListItemType.Item:
                    case ListItemType.EditItem:
                        container.Controls.Add(hiddenShowHideStatus);
                        break;
                }
            }
        }
模板列中的HtmlInputText 是为了记录每一行的状态,none 或 block
当datagrid.databind()时,模板列顺利产生,并利用HtmlInputText 显示行状态:none 或 block
 但是,当我再次page_load()页面时,该datagrid的模板列就没有了,需要重新邦定生成,换句话说,我想要记录行的状态(none 或 block)就没有了
我想问的是,我如何才能保持我前一次保存在模板列中的状态? 
还有c#应该是引用调用吧,引用对象改变就相当于原对象改变,怎么datagrid被加上了模板列后,再次调用的时候,模板列会消失,我觉得很奇怪,希望大家帮下忙,谢谢 --------------------编程问答-------------------- 在全页刷新,肯定没有的,如果只是回送,那么在每一个事件都应该调用这个动态添加的方法。 --------------------编程问答-------------------- 我再总结一下我的问题:
我的datagrid中其中有一列是动态加载的模板列,如果在PostBack的时候数据被客户端修改了,那么在重新加载的时候,修改就没有用来了,有没有好的方法不重新加载动态列? 
请大家帮忙看看 --------------------编程问答-------------------- 整个页面刷新后,动态添加的控件总是重新生成的,要记录每一行有困难哦.. --------------------编程问答-------------------- 我有个想法:
在IsPostBack的时候,把每一行的主键(行号或者自己定义的)和它的状态保存起来,在绑定的时候拿来用..
你看可行不 --------------------编程问答-------------------- 感觉确实比较麻烦。
找个地方保存起来。到时候再给设定上。 --------------------编程问答-------------------- 动态添加的控件是不能保持状态的.
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,