我直接昏迷..不知你怎么看!! 顺便解决一下这个问题http://topic.csdn.net/u/20091014/08/7d1d9e3c-ca62-49ad-a040-c4b81b9d01d0.html 有分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 AutoGenerateColumns="False" <asp:BoundField DataField="Id" HeaderText="账户标识" InsertVisible="false" ReadOnly="true" /> 1.DetailsView.AutoGenerateRows 属性获取或设置一个值,该值指示对应于数据源中每个字段的行字段是否自动生成并在 DetailsView 控件中显示。true 表示显示对应于数据源中每个字段的自动生成的绑定行字段,当然就会显示Id 1 LoginId xize LoginPwd ** Name ** Address ** Phone ** Mail **@163.com 2.ReadOnly顾名思义,是判断是否只读,ReadOnly="true" -> 更新失败,正常!!3.Visible顾名思义,判断是否可见,Visible="true" -> 更新成功,正常!!! 替楼主解释-------------------<asp:BoundField DataField="Id" HeaderText="账户标识" InsertVisible="false" Visible="false" /> 为什么 Visible="false" -> 更新失败 为什么 Visible="true" -> 更新成功 <asp:BoundField DataField="Id" HeaderText="账户标识" InsertVisible="false" ReadOnly="true" Visible="true" /> 为什么 ReadOnly="false" -> 更新成功 为什么 ReadOnly="true" -> 更新失败 为什么AutoGenerateRows="ture" 上面的问题全部就没有了. -----------------------------是不是本来就应该这样的 谁让你在 .NET 框架下做事 没有去求证 在vs环境下经常出现一些莫名的问题有些是重新开启vs就可以解决的,很是郁闷.... AutoGenerateRows="ture" 会自动每列再生成一遍,加上你自己的,当然看起来就有2倍列了visiable=false的列是引用不到的,在客户端是不生成的,如果在rowupdating事件里取gridview的这行数据,就会出错readonly可能是都readonly=true了你还在rowupating事件里赋值 DetailsView 是什么东西,自己看说明啊 LZ这个描述,应该是要在visible=false的情况下进行编辑你不要在前台写visible=false,在后台的databound事件里写,这样就能取到对应的列 AutoGenerateRows="ture" 控件属性值弄错,使得自动生成行. AutoGenerateColumns是自动生成列的属性,给他设为false则不会自动生成列更新估计使用到了DataField作为sql的参数,前台找不到所有会出错 我猜LZ问题是: 在AutoGenerateColumns =false 下 进行更新时报错 "未找到泛型方法xxxxxx"如果是这个问题,我的解决方案是:1.AutoGenerateColumns =false,不能让它自动生成列2.AutoGenerateColumns =false ,update失败的原因是:<asp:BoundField DataField="Id" HeaderText="账户标识" InsertVisible="false"Visible="false" /> BoundField:除了能显示,在DetailsView发生改变时会将用户填写的新的ID 值发回服务器,如果代码中没有让其显示,并把值带回去,那么服务器将取不到值。(可以用断点查看ID值是否回传)3.如果ID 只需要显示,也就是更新的方法中不需要ID列的值,那么建议LZ将代码改下a.转成模板列b.<ItemTemplete> <%Eval("Id");%></ItemTemplete><EditTemplete> 节点都删了改好了,请回复一下! app.config文件的作用 不会实现接口成员 请教一条 sql 查询语句 XmlSerializer 反串时说格式不对 如何实现与摄像头交互,并实现远程视频? 跪求C#写的WEB SERCICE例子(要有代码),本人学习用. 异步编程的高手进来讨论一下看看! 滚动条问题 “托管”的问题,言者有分 有关System.IO sql参数问题 如何把栈上 byte[] 弄出到托管 byte[] ?
<asp:BoundField DataField="Id" HeaderText="账户标识" InsertVisible="false" ReadOnly="true" />
1.DetailsView.AutoGenerateRows 属性
获取或设置一个值,该值指示对应于数据源中每个字段的行字段是否自动生成并在 DetailsView 控件中显示。true 表示显示对应于数据源中每个字段的自动生成的绑定行字段,当然就会显示
Id 1
LoginId xize
LoginPwd **
Name **
Address **
Phone **
Mail **@163.com
2.ReadOnly顾名思义,是判断是否只读,ReadOnly="true" -> 更新失败,正常!!
3.Visible顾名思义,判断是否可见,Visible="true" -> 更新成功,正常!!!
-------------------
<asp:BoundField DataField="Id" HeaderText="账户标识" InsertVisible="false" Visible="false" />
为什么 Visible="false" -> 更新失败
为什么 Visible="true" -> 更新成功 <asp:BoundField DataField="Id" HeaderText="账户标识" InsertVisible="false" ReadOnly="true" Visible="true" />
为什么 ReadOnly="false" -> 更新成功
为什么 ReadOnly="true" -> 更新失败 为什么
AutoGenerateRows="ture"
上面的问题全部就没有了. -----------------------------是不是本来就应该这样的 谁让你在 .NET 框架下做事 没有去求证
visiable=false的列是引用不到的,在客户端是不生成的,如果在rowupdating事件里取gridview的这行数据,就会出错
readonly可能是都readonly=true了你还在rowupating事件里赋值
你不要在前台写visible=false,在后台的databound事件里写,这样就能取到对应的列
控件属性值弄错,使得自动生成行.
更新估计使用到了DataField作为sql的参数,前台找不到所有会出错
在AutoGenerateColumns =false 下 进行更新时报错 "未找到泛型方法xxxxxx"如果是这个问题,我的解决方案是:
1.
AutoGenerateColumns =false,不能让它自动生成列
2.
AutoGenerateColumns =false ,update失败的原因是:<asp:BoundField DataField="Id" HeaderText="账户标识" InsertVisible="false"Visible="false" />
BoundField:除了能显示,在DetailsView发生改变时会将用户填写的新的ID 值发回服务器,如果
代码中没有让其显示,并把值带回去,那么服务器将取不到值。(可以用断点查看ID值是否回传)
3.如果ID 只需要显示,也就是更新的方法中不需要ID列的值,那么建议LZ将代码改下
a.转成模板列
b.<ItemTemplete>
<%Eval("Id");%>
</ItemTemplete>
<EditTemplete> 节点都删了改好了,请回复一下!