zoukankan      html  css  js  c++  java
  • 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
    我们在这个方法下面添加一个处理就能实现验证了。下面举个例子:

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

    12        }

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

    (大家可以把GridView和DetailsView放到asp:UpdatePanel里面,避免太多的刷新哦)
    我想这是最简单的验证方法了,希望所有和我遇到同样问题的朋友不要再走弯路了。
  • 相关阅读:
    python 并发编程 多线程 event
    python 并发编程 多线程 定时器
    python 并发编程 多线程 信号量
    linux top 查看CPU命令
    python 并发编程 多线程 GIL与多线程
    python 并发编程 多线程 死锁现象与递归锁
    python 并发编程 多线程 GIL与Lock
    python GIL全局解释器锁与互斥锁 目录
    python 并发编程 多线程 GIL全局解释器锁基本概念
    执行python程序 出现三部曲
  • 原文地址:https://www.cnblogs.com/lyout/p/592160.html
Copyright © 2011-2022 走看看