如何取出DetailsView中已更新后的值,谢谢

问题描述

如题

解决方案

解决方案二:
Details无法取到FileUpload中的值,已经两天了。急!!!
解决方案三:
在更新时可以取到DetailsView中的FileUpload,值是却得不到FileUpload的值
解决方案四:
在Inserting或者Updating或其他的事件中的参数:其中成员中包含了DetailView中的新数据,采用如下两种方式可以获得:1.e.Values[index]2.e.Values[keyname]
解决方案五:
我的FileUpload并没有绑定数据源,是在模版列中啊
解决方案六:
贴出我的代码:页面中有一个名为DetailsView1的Details控件,它绑定了一个ObjectDataSource1数据源,绑定了四个字段(TypdID,BigTypeID,TypeName,Explain)。另外还有一个唯一的模版列,该模版列的编辑模版中有一个名为PhotoFileUpload1的文件上传控件。我想实现,在点击DetailsView1的"编辑"命令按钮后,在编辑状态可以编辑模版列中的文件上传控件,然后点击“更新”命令按钮将图片数据通过自定义方法更新到数据库中。****遇到的问题是不在于怎么更新,而是可以触发ItemUpdated事件,并且能够找到DetailsView中的FileUpload1控件,但确总是认为它没有上传文件。而在页面放这么一个上传控件并用不着同样的代码上传文件就没有问题。最重要的错误是竟然在编辑行后(无论是绑定字段,还是模版字段),影响行数为0。下面的我的代码:(有问题处已用//★标记标出)(1)这是DetailsView的定义<asp:DetailsViewID="DetailsView1"runat="server"AutoGenerateRows="False"CellPadding="4"DataSourceID="ObjectDataSource1"ForeColor="#333333"GridLines="None"Height="50px"Width="219px"OnItemUpdated="DetailsView1_ItemUpdated"OnItemCommand="DetailsView1_ItemCommand"DataKeyNames="TypeID"OnDataBound="DetailsView1_DataBound"><FooterStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/><CommandRowStyleBackColor="#D1DDF1"Font-Bold="True"/><EditRowStyleBackColor="#2461BF"/><RowStyleBackColor="#EFF3FB"/><PagerStyleBackColor="#2461BF"ForeColor="White"HorizontalAlign="Center"/><Fields><asp:BoundFieldDataField="TypeID"HeaderText="TypeID"SortExpression="TypeID"/><asp:BoundFieldDataField="BigTypeID"HeaderText="BigTypeID"SortExpression="BigTypeID"/><asp:BoundFieldDataField="TypeName"HeaderText="TypeName"SortExpression="TypeName"/><asp:BoundFieldDataField="Explain"HeaderText="Explain"SortExpression="Explain"/><asp:TemplateField><ItemTemplate></ItemTemplate><EditItemTemplate><asp:FileUploadID="FileUpload1"runat="server"/></EditItemTemplate></asp:TemplateField><asp:CommandFieldShowEditButton="True"ShowInsertButton="True"><ItemStyleFont-Bold="True"ForeColor="#C00000"/></asp:CommandField></Fields><FieldHeaderStyleBackColor="#DEE8F5"Font-Bold="True"/><HeaderStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/><AlternatingRowStyleBackColor="White"/></asp:DetailsView>(2)这是DetailsView1的ItemUpdated事件protectedvoidDetailsView1_ItemUpdated(objectsender,DetailsViewUpdatedEventArgse){if(e.Exception!=null){Response.Write("<script>alert('"+"发生异常"+"')</script>");//★该行没执行}if(e.AffectedRows<=0){Response.Write("<script>alert('"+"没有编辑任何行"+"')</script>");//★该行竟被执行了(实际上编辑了绑定字段或模版列)}if(e.Exception!=null¦¦e.AffectedRows<=0){lblMessage.Text="在编辑数据时发生错误,请确认所输入之数据的格式是否正确。";e.ExceptionHandled=true;}else{DetailsViewmyDetailsView=(DetailsView)(sender);stringId=Convert.ToString(e.Keys["TypeID"]);FileUploadPhotoFile=(FileUpload)(myDetailsView.Rows[myDetailsView.DataItemIndex].FindControl("FileUpload1"));if(PhotoFile==null){Response.Write("<script>alert('"+"没有找到文件上传控件"+"')</script>");//★该行没执行(找到了FileUpload1)}if(!PhotoFile.HasFile){Response.Write("<script>alert('"+"上传控件没有上传文件"+"')</script>");//★该行被执行了(不知道为什么????)}SmallTypeLogicsmallTypeLogic=newSmallTypeLogic();boolresult=smallTypeLogic.UpdateSmallTypePhotoByID(Id,PhotoFile);if(result){lblMessage.Text="已经成功编辑数据...";}this.UpdatePanel1.Update();}}
解决方案七:
在事件处理中添加如下代码:DetailsViewdv=senderasDetailsView;if(dvisDetailsView){FileUploadfu=dv.FindControl("FileUpload1")asFileUpload;if(fuisFileUpload){//成功获取FileUpload控件的处理逻辑stringfileName=fu.FileName;}}
解决方案八:
有点乱,重新排版后页面中有一个名为DetailsView1的Details控件,它绑定了一个ObjectDataSource1数据源,绑定了四个字段(TypdID,BigTypeID,TypeName,Explain)。另外还有一个唯一的模版列,该模版列的编辑模版中有一个名为PhotoFileUpload1的文件上传控件。我想实现,在点击DetailsView1的"编辑"命令按钮后,在编辑状态可以编辑模版列中的文件上传控件,然后点击“更新”命令按钮将图片数据通过自定义方法更新到数据库中。****遇到的问题是不在于怎么更新,而是可以触发ItemUpdated事件,并且能够找到DetailsView中的FileUpload1控件,但确总是认为它没有上传文件。而在页面放这么一个上传控件并用不着同样的代码上传文件就没有问题。最重要的错误是竟然在编辑行后(无论是绑定字段,还是模版字段),影响行数为0。下面的我的代码:(有问题处已用//★标记标出)(1)这是DetailsView的定义<asp:DetailsViewID="DetailsView1"runat="server"AutoGenerateRows="False"CellPadding="4"DataSourceID="ObjectDataSource1"ForeColor="#333333"GridLines="None"Height="50px"Width="219px"OnItemUpdated="DetailsView1_ItemUpdated"OnItemCommand="DetailsView1_ItemCommand"DataKeyNames="TypeID"OnDataBound="DetailsView1_DataBound"><FooterStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/><CommandRowStyleBackColor="#D1DDF1"Font-Bold="True"/><EditRowStyleBackColor="#2461BF"/><RowStyleBackColor="#EFF3FB"/><PagerStyleBackColor="#2461BF"ForeColor="White"HorizontalAlign="Center"/><Fields><asp:BoundFieldDataField="TypeID"HeaderText="TypeID"SortExpression="TypeID"/><asp:BoundFieldDataField="BigTypeID"HeaderText="BigTypeID"SortExpression="BigTypeID"/><asp:BoundFieldDataField="TypeName"HeaderText="TypeName"SortExpression="TypeName"/><asp:BoundFieldDataField="Explain"HeaderText="Explain"SortExpression="Explain"/><asp:TemplateField><ItemTemplate></ItemTemplate><EditItemTemplate><asp:FileUploadID="FileUpload1"runat="server"/></EditItemTemplate></asp:TemplateField><asp:CommandFieldShowEditButton="True"ShowInsertButton="True"><ItemStyleFont-Bold="True"ForeColor="#C00000"/></asp:CommandField></Fields><FieldHeaderStyleBackColor="#DEE8F5"Font-Bold="True"/><HeaderStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/><AlternatingRowStyleBackColor="White"/></asp:DetailsView>(2)这是DetailsView1的ItemUpdated事件protectedvoidDetailsView1_ItemUpdated(objectsender,DetailsViewUpdatedEventArgse){if(e.Exception!=null){Response.Write("<script>alert('"+"发生异常"+"')</script>");//★该行没执行}if(e.AffectedRows<=0){Response.Write("<script>alert('"+"没有编辑任何行"+"')</script>");//★该行竟被执行了(实际上编辑了绑定字段或模版列)}if(e.Exception!=null¦¦e.AffectedRows<=0){lblMessage.Text="在编辑数据时发生错误,请确认所输入之数据的格式是否正确。";e.ExceptionHandled=true;}else{DetailsViewmyDetailsView=(DetailsView)(sender);stringId=Convert.ToString(e.Keys["TypeID"]);FileUploadPhotoFile=(FileUpload)(myDetailsView.Rows[myDetailsView.DataItemIndex].FindControl("FileUpload1"));if(PhotoFile==null){Response.Write("<script>alert('"+"没有找到文件上传控件"+"')</script>");//★该行没执行(找到了FileUpload1)}if(!PhotoFile.HasFile){Response.Write("<script>alert('"+"上传控件没有上传文件"+"')</script>");//★该行被执行了(不知道为什么????)}SmallTypeLogicsmallTypeLogic=newSmallTypeLogic();boolresult=smallTypeLogic.UpdateSmallTypePhotoByID(Id,PhotoFile);if(result){lblMessage.Text="已经成功编辑数据...";}this.UpdatePanel1.Update();}}
解决方案九:
if(e.AffectedRows<=0)这个地方是返回在Updating事件之后,执行ObjectDataSource中的Update方法中影响的行数,所以这里你应该检查Update方法是否正确。关于后面FindControl的地方,我试了没有问题,我是这样找的:DetailsViewdv=senderasDetailsView;if(dvisDetailsView){FileUploadfu=dv.FindControl("FileUpload1")asFileUpload;if(fuisFileUpload){stringfileName=fu.FileName;}}HasFile为True.

时间: 2024-09-15 20:04:51

如何取出DetailsView中已更新后的值,谢谢的相关文章

win7中iTunes更新后不再爱

iTunes更新后无法识别设备的问题,在Windows7系统使用过程中时常而见,出现这样的问题可如何是好?今天小编以win7纯净版为实例跟大家一起来学习下iTunes更新后无法识别设备的问题,有需要的用户赶快来看看吧. 1.连接设备,在电脑桌面上鼠标右键"计算机"图标,选择"管理". 2.在打开的"计算机管理"界面中依次找到"设备管理器--便携设备--右键点击Apple iPhone--更新驱动程序软件". 3.在出现的更新驱

linux中ssh登录后limit值未得到限制

查看了下相关生成应用的进程的limits情况,发现是修改后的值.(cat /proc/pid/limits) 我使用su - user 后发现ulimit -a 的值又显示成功 那这是什么问题呢? ssh登录后不成功,那我想会不会是pam模块被人修改了呢? 查看/etc/pam.d/login /etc/pam.d/sshd 都包含了pam_limits.so 这是什么尿性的节奏啊!!!! 会不会是sshd没有使用pam模块呢? 看了下配置文件 grep -i pam /etc/ssh/sshd

如何取出gridview中绑定的Label的值(Label是单个字母)

问题描述 如题..菜鸟一个,求稍微详细点的代码..多谢 解决方案 解决方案二:gridview是什么?解决方案三:Labellabel=(Label)gridView.Rows[i].Cells[j].FindControl("Label1");strings=label.Text;解决方案四:引用2楼gxingmin的回复: Labellabel=(Label)gridView.Rows[i].Cells[j].FindControl("Label1");stri

.net中GridView更新取不到新值解决办法

例子  代码如下 复制代码 ((TextBox)this.gridServerList.Rows[e.RowIndex].Cells[0].Controls[0]).Text.ToString(); 绑定数据库放在!IsPostBack里 if (!IsPostBack) { GetDate(); } 原因是我们我们取的是原来的值那么更新后的值并没有更新控制数据,这样我们解决只要每次更新之后我们进行自动刷亲就可以了.  代码如下 复制代码 protected void Page_Load(obj

WebGIS中以version方式实现代码更新后前端自动读取更新代码的方法

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 前言 GIS代码进行更新后,由于用户前端已有缓存,导致更新的功能不能被及时同步.为避免前端请求读取缓存,常见方法是在每一个请求后面加上一个随机生成的变量参数,这样可以保证每个请求都不会跟历史请求重复.但是,这样处理是不合理的,我们虽然避免了读取缓存,但是却会导致系统效率降低. 所以,我们要解决的问题应该是:只有当代码更新后,客户前端第一次触发的所有请求都应该不走缓

mfc入门-vs2010中mfc如何在已添加的类中再给后加的对话编辑器添加变量

问题描述 vs2010中mfc如何在已添加的类中再给后加的对话编辑器添加变量 vs2010中mfc如何在已添加的类中再给类创建之后添加的对话编辑器添加变量 解决方案 需要对话框重新绑定,生成对话框类,然后你添加变量等,你先生成类了,就只能手动修改了,没法自动绑定到资源

编码-django取出pymongo中存储的中文图片路径后,读取该路径在网页上展示没有出现图片

问题描述 django取出pymongo中存储的中文图片路径后,读取该路径在网页上展示没有出现图片 问题是这样的: 我搭建的环境是:python2.7 + mongoengine + pymongo + django + Ubuntu14 python处理一些带有中文路径的图片,把这个路径存储在数据库pymongo中,保存的时候该路径是转换为:utf-8类型存储到数据库中,然后django通过mongoengine来连接pymongo的数据库,从中取出这个图片的路径, 希望向各位朋友们请教一下下

gridview中添加dropdownlist后实现数据库更新

问题描述 gridview中添加dropdownlist后实现数据库更新 背景描述:gridview已经通过选择数据源实现了数据绑定,并选择了编辑操作,并在gridview中添加dropdownlist. 目的:点击编辑,然后选择dropdownlist,然后在数据库中更新该row(只需要更新update dropdownlist所选),并在当前gridview中显示最终结果. DropDownList ddl = GridView1.Rows[e.RowIndex].FindControl("

谷歌日历中判断是否更新更新后提示新字没更新则不提示

问题描述 谷歌日历中判断是否更新更新后提示新字没更新则不提示 环境:vs2010 谷歌日历链接 公司日历 GoogleCalendar.aspx链接页面代码 我想实现在谷歌日历里面更新了行程或其他的数据,在公司日历这个链接后面加上一个红色的新字,目前不知道怎么判断谷歌日历更新了行程,求大神指教感激不尽