·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> ASP.NET编辑与更新数据(非GridView控件实现)

ASP.NET编辑与更新数据(非GridView控件实现)

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

asp.net编辑与更新数据(非GridView控件实现)

Insus.NET在实现《ASP.NET开发,从二层至三层,至面向对象 (5)》http://www.cnblogs.com/insus/p/3880606.html中,没有把数据编辑与更新功能一起演示,留下给网友们自由发挥,但是还是有网友想看看Insus.NET用实现方法。以前Insus.NET的做法,是在GridView控件中进行。如这篇视频教程《GridView Edit Update Cancel Delete》http://www.cnblogs.com/insus/archive/2011/01/25/1944295.html

或者这篇《网站是否有播放音乐功能》http://www.cnblogs.com/insus/archive/2013/05/09/3066347.html 均可以看到GridView控件的更新功能。

总结以往的经验,觉得编辑或更新GridView控件的记录,用户需要点击多次按钮,才能完成。而且对GridView控件编写的代码也多。因此Insus.NET想直接点击GridView控件某笔记录,然后显示于添加的域中进行更新。OK,开始来看看:首先在GridView控件添加一列:

然后在添加按钮后,再添加两个铵钮,一个是更新,一个是取消:

这两个铵钮,一开始它的状态是禁用的,可看它们的Enabled=“false”。也就是说网页加载时,这两个铵钮是不可用。接下来,我们分别实现OnRowCreated="GridViewEmployee_RowCreated",OnClick="ButtonUpdate_Click"和OnClick="ButtonCancel_Click"事件。先实现第一个,点击GridView控件某一笔记录时,希望能获取这笔记录数据。因此需要创建一个新的存储过程,By主键来获取点击当前记录:有添加了数据库层的存储过程,前一篇写好的Employee.cs也需要添加相应的逻辑方法或是函数。现在可以写了:上面有一个事件委托ButtonEdit_Click:上面程序有几点说明,先是点击编辑之后,获取被点选的的记录主键,然后以主键是获取整笔记录,然后绑定给添加域中去(标记1)。标记2,需要把添加铵钮与绑定主键的文本框禁用。标记3是Active更新和取消铵钮。下面是取消铵钮ButtonCancel_Click事件,实际就是初始化控件状态功能:文本框清空,该禁用的铵钮禁用,该启用的铵钮启用。最后是更新铵钮ButtonUpdate_Click事件:看到否,取消铵钮与更新事件结束之后,所执行的代码是一样的。因此可以把它们写成一个单独的小方法:

实现完了,看看实时操作演示效果,点击“Edit”铵钮时,它出现了一个异常:Line: 885Error: Sys.WebForms.PageRequestManagerServerErrorException: Object reference not set to an instance of an object.F9设定中断点,F5debug,然后按F11进行跟踪,跑到下面出现异常了:细心检查,原来真正的问题,出现在BizBaseSQLSp.cs类库中,函数public DataSet ExecuteDataSet(),下面是修改正确方法:保存,再次运行:没有难度,这样的话,设计网页时,可以把添加域与编辑同用,不必浪费在写GridView控件内,还要定义编辑模版。

Insus.NET虽写的不是什么绝世之作,平凡之中能让您从中获取对ASP.NET技术的有所提升与积累,足已。