DetailsView 的数据验证方法

    目前跟一个老板合作,考虑到网络各方面的因素,我们决定用Microsoft Visual Studio 2005 和  Microsoft SQL Server 2005 来开发项目。老板规定的时间很短,一个月就要搞定,而且差不多就我一个人在搞,郁闷哪。
    再讲句废话,我对微软的这些开发工具很喜欢。
    网上都说.Net 2.0 要比上个版本减少约70%的代码,呵呵,刚开始用的时候,由于思维固定在1.0,代码还是特别多哈。幸好做这个项目,才让我见识到2.0的强大,再加上微软免费提供的 ASP.NET AJAX 工具,开发起来感觉就一个字:爽!
    今天用到GridView和DetailsView两个数据控件,刚开始不知道DetailsView不能直接添加验证(大家不要笑哈),把ObjectDataSource控件添加好并且Insert、Update、Delete、Select等实现方法添加完之后,真有一种特别的成就感!但头疼的问题也随之而来。:(  在DetailsView添加数据的时候,如果我什么都不输入报错,找不到哪里可以添加验证控件,于是Baidu,Google搜索解决方法,却没有一个好的,都要添加很多的代码。
    这时我想微软做的东西应该没这么差吧,总有处理的方法。于是我从 ObjectDataSource 控件和 DetailsView 控件着手,找它们两个的属性和事件每个都尝试能否解决问题,终于老天不负有心人,在 ObjectDataSource 上找到一个事件:Inserting
我们在这个方法下面添加一个处理就能实现验证了。下面举个例子:

 1 ExpandedBlockStart.gif ContractedBlock.gif protected   void  DataSource1_Inserting( object  sender, ObjectDataSourceMethodEventArgs e)  dot.gif {
 2InBlock.gif            string username= "";
 3InBlock.gif            // 假设username是DetailsView的第一个输入参数
 4InBlock.gif            if(e.InputParameters[0!= null)
 5InBlock.gif                username= e.InputParameters[0].ToString().Trim();
 6InBlock.gif
 7ExpandedSubBlockStart.gifContractedSubBlock.gif            if(username== "" )dot.gif{
 8InBlock.gif                // ShowError 是自己定义输入错误的方法
 9InBlock.gif                ShowError("语言标识或语言描述不能为空!");
10InBlock.gif                e.Cancel = true;
11ExpandedSubBlockEnd.gif            }

12ExpandedBlockEnd.gif        }

前提是必须为DetailsView控件的数据源指定为一个ObjectDataSource控件或其他DataSource控件。

(大家可以把GridView和DetailsView放到asp:UpdatePanel里面,避免太多的刷新哦)
我想这是最简单的验证方法了,希望所有和我遇到同样问题的朋友不要再走弯路了。

转载于:https://www.cnblogs.com/lyout/archive/2006/12/14/592160.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值