1、蝈蝈俊.net的.net 2.0 中 DataTable 小兵变大将
在.net 1.1 、1.0中,WEB Service 的返回或者输入参数不能是 DataTable,这是一个众人皆知的知识点。原因就是 DataTable 不象DataSet那样支持序列化。在.net 1.1中,我们解决这个问题的方法就是使用DataSet。但是使用DataSet 的时候,经常会有一种杀鸡用牛刀的感觉。
2.0中 DataTable实现了序列化、反序列,可以是WEB Service 的返回或者输入参数,而且把DataSet中的一些功能移到 DataTable中,2.0 中还有 Merge 方法,即合并数个数据集。
http://blog.joycode.com/ghj/archive/2005/06/21/55309.aspx
2、思归的“动态控件的状态问题”的分析
private void Page_Load(object sender, System.EventArgs e)
{
DropDownList ddlDynamic = new DropDownList();
ddlDynamic.ID = "ddlDynamic";
HtmlForm form1 = (HtmlForm)this.FindControl("Form1");
if (!IsPostBack)
{
ddlDynamic.Items.Add("Before");
}
form1.Controls.Add(ddlDynamic);
if (!IsPostBack)
{
ddlDynamic.Items.Add("After");
}
}
在Page上扔个Button,以便可以PostBack。运行后Postback的结果,“Before” item没被保留,“After”被保留了。问题被isolate:问题不在于DropDownList或者ListCollection对于view state的处理出问题,而是特定一个ListItem view state的处理有异。
ControlCollection.Add一定调用了System.Web.UI.WebControls.ListItemCollection.TrackViewState()这个方法
http://blog.joycode.com/saucer/archive/2004/10/20/35927.aspx
http://blog.joycode.com/felix/archive/2004/10/21/36136.aspx
浙公网安备 33010602011771号