您的位置:首页 > 编程语言 > ASP

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

2014-08-01 17:13 423 查看
Insus.NET在实现《ASP.NET开发,从二层至三层,至面向对象 (5)/article/4668763.html 中,没有把数据编辑与更新功能一起演示,留下给网友们自由发挥,但是还是有网友想看看Insus.NET用实现方法。

以前Insus.NET的做法,是在GridView控件中进行。如这篇视频教程《GridView Edit Update Cancel Delete/article/4669937.html

或者这篇《网站是否有播放音乐功能/article/4669427.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: 885
Error: 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技术的有所提升与积累,足已。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐