Response.Write(e.Values.Count); for (int i = 0; i < e.Values.Count; i++)
{
if (e.Values[i] != null)
{
e.Values[i] = Server.HtmlEncode(e.Values[i].ToString());
}
Response.Write("<script language='javascript'>alert('ok')</script>"); //测试是否来值
}
//那个e.Values.Count 总是为0,明明有数据我实在想不通应怎样解决
{
if (e.Values[i] != null)
{
e.Values[i] = Server.HtmlEncode(e.Values[i].ToString());
}
Response.Write("<script language='javascript'>alert('ok')</script>"); //测试是否来值
}
//那个e.Values.Count 总是为0,明明有数据我实在想不通应怎样解决
http://cathsfz.sitesled.com/2006/09/aspnet-20-datasource.htm不用DataSource控件的话,你要用Reflector打开.NET Framework的代码慢慢看慢慢摸索着做。INSERT我没做过,UPDATE我做过一次,痛苦死我了,简单给你说一下经验和原理。你贴的代码属于OnItemInserting是不是?那个Values.Count属性应该是提交上来的字段的数量,每一个字段的提交值都保存在Values中。在使用DataSource控件时,DetailsView能够自动获取字段的数量及各字段的名称,然而手动绑定的时候就不行了。这时候你是不能够用Values的,只能够用老办法一个一个的从控件里取值。OnItemInserting是给你改变默认INSERT行为的,而默认INSERT行为通过DataSource控件实现,你没有DataSource控件根本就不执行默认INSERT行为,而必须你全手动编写自己的INSERT行为。