你的概念有点混淆
使用自己的ascx控见,有三步,第一是创建,第二是加入到table中,第三是保持它的值。viewstate,只能做到3;
如果要做1和2,viewstate就必须即下整个table每个cell的情况,一般你的datagrid会绑定,这样怎么保持呢。实现你的目标,由两个方法。第一个方法是在item_databound事件中,动态添加你的控件。这样,就不必在oninit里做了。
参考:《动态增加的DropDownList如何保持状态》
http://dotnet.aspx.cc/ShowDetail.aspx?id=E26B2ADF-2249-45CF-FD5B-C4C9CE43B147另一个方法,就是派生datagridcolumn类。datagrid每一列都是一个datagridcolumn,从datagridcolumn中派生,派生类中包含你的ascx控件,就可以了。具体请参考:
http://www.datagridgirl.com/customcolumns.aspx
这里面加入的是一个radiobutton,原理是一样的。