2013-9-15

1.    CustomValidator验证控件验证用户输入的字符长度

在实际的开发中通常会遇到验证用户输入的字符长度的问题,通常的情况下,可以写一个js的脚本或者函数,在ASP.NET中我们也可以通过CustomValidator验证控件来实现这一验证。具体如下。

用户名:<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:CustomValidator ID="UserName_CustomValidator" runat="server" ControlToValidate=" txtUserName " ErrorMessage="字数不应少于6个字符"
ClientValidationFunction="Text_ClientValidate">
</asp:CustomValidator>
<script language="javascript">
function Text_ClientValidate(source,arguments) {
if ((arguments.Value).length>6)
arguments.IsValid = true;
else
arguments.IsValid = false;
}
</script>

2.   LinkButton的PostBackUrl使用Eval绑定数据

在列表页面的操作列里大多时候都可以用一个<a>标签绑定一个列表项的Id进行列表项的编辑和删除,一般情况下列表项的绑定如下:

<asp:TemplateField HeaderText="操作">
<ItemStyle CssClass="dg_tr_td_operate_center" />
<ItemTemplate> <a href="CarBookInfoDetail.aspx?mode=edit&BookCarID=<%#Eval("BookCarID")%>" >编辑</a>
</ItemTemplate>
</asp:TemplateField>

但是有时候根据不同的需求条件可能要限制某些列表项不能编辑,这时候用<a>标签来绑定列表项就不是很合适了,这里就可以用到LinkButton按钮来编辑或者删除列表项,这个时候一般都需要为其PostBackUrl绑定一个列表项的ID,绑定如下:

<asp:TemplateField HeaderText="操作">
<ItemStyle CssClass="dg_tr_td_operate_center" />
<ItemTemplate>
<asp:LinkButton ID="btnEdit" runat="server" Text="编辑" PostBackUrl='<%#Eval("BookCarID","~/Modules/Car/CarBookInfoDetail.aspx?mode=edit&BookCarID={0}") %>' />
<asp:LinkButton ID="btnDelete" runat="server" Text="删除" OnClientClick="return window.confirm('确认要删除此记录吗?');"
CommandName="Delete" CommandArgument='<%#Eval("BookCarID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>

3.    Linq 多字段分组统计

上周用公司的Linq框架做开发,框架本身没有带对返回对象的分组求和统计,在网上查阅了一些资料,具体实现如下,感觉还挺不错的,跟大家分享一下。

Var carRunDetailCounts= from carRun in db.CarRunDetailInfo

                     Group carRun by new{ carRun.CarID,carRun.Name} into car

                     Select new {

 CarName=car.Key.CarName,

 RunCount=sum(car.RunLength)

};

注释:

首先通过Group carRun By new{ carRun.CarID,carRun.Name} into car把车辆行程明细信息按照车辆Id和车辆名进行分组(group carRun By 后如果需要按照多个字段进行分组,则可以以匿名类的形式列出要分组的项),然后再映射生成一个新的对象,这个时候通过car.Key.CarName来获取分组项的值,通过sum(car.RunLength)来对分组的项进行统计(可以通过sum函数统计多个列的值。

4.    ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码,点击取消,执行另一段代码

在实际的开发中confirm对话框中的使用是很频繁的,很多时候我们会在列表的操作列的删除按钮加上这样一段话  OnClientClick=”return confirm(“确认要删除吗?”);”,这个时候弹框的代码直接已经在客户端写好了,但是有时候我们会遇到这样的情况,后台先执行一些代码,比如对用户提交的数据进行后台的验证等,然后弹出confirm对话框,供用户选择,点击确定则执行一段代码,取消则执行令一段代码。

针对于以上的应用场景我们可以用以下方式在来实现:

假设有一个表单页面用户点击了保存按钮,其Click事件如下:

Protected void btn_Save_Click(object sender ,EventArgs e)

{

   //执行一段代码

   。。。。。。

   。。。。。。

   //弹出confirm供用户选择

   this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script language='javascript'>$(function(){ if(confirm('是否继续保存?')){ $(\"[id$='btn_Confirm']\").click();}})</script>");

}

这个时候还需要在页面上放置一个宽高均为0px的button按钮,如下:

<asp:Button ID=”btn_Confrim” Click=”btn_Confrim_Click” runat=”server” width=”0px” height=”0px”/>

这个按钮对用户来说是不可见的,因为其宽高均为0 ,

然后还需要再后台添加btn_Confirm的click事件如下:

Protected void btn_Confrim_Click(Object sender,EventArgs e)

{

//可以在该方法中做一些后续的处理,比如保存/修改等等

。。。。。。。

。。。。。。

}

这种实现的方式类似于Ajax的回掉,有兴趣的朋友可以下去自己看一下,这里就不再细说了。

好了,今天就总结到这里了,希望可以给大家带来一些帮助。

每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码的更多相关文章

  1. 正则表达式——WPF输入控件TextBox 限定输入特定字符

    概念: 正则表达式是对字符串操作的一种逻辑公式, 就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”, 这个“规则字符串”用来表达对字符串的一种过滤逻辑. 目的: 给定一个正 ...

  2. ASP.NET中的验证控件

    ASP.NET提供了如下的控件: RequiredFieldValidator: 字段必填 (ControlTovalidate设定要验证的控件) RangeValidator: 值在给定的最大值,最 ...

  3. C# 验证控件的使用RequiredFieldValidator&CompareValidator

    使用验证控件可以向服务器提交表单数据时验证表单内容,下面以RequiredFieldValidator和CompareValidator为例说明验证控件的用法 RequiredFieldValidat ...

  4. [转].net自定义验证控件CustomValidator的使用

    本文转自:http://tech.cncms.com/web/aspnet/96310.html CustomValidator验证控件,可以自定义验证函数,实现其它几个验证控件不能实现的验证规则,最 ...

  5. ASP.NET_验证控件(class0620)

    为什么使用验证控件 当需要让用户输入数据时,用户有可能输入不符合我们程序逻辑要求的信息,所以我们要对输入进行验证. 客户端验证(用户体验,减少服务器端压力) 服务器端验证(防止恶意攻击,客户端js很容 ...

  6. 【ASP.NET】验证控件

    在软件开发中,验证输入信息是否正确,这是不可缺少的一项工作.就拿我们做过的机房收费系统来说,在登录的时候,我们须要对username和用户password进行验证.推断是否为空,推断输入字符是否合理等 ...

  7. ASP.NET验证控件

    在此过程中房间的收费制度时,.为了验证文本框是否为空.用户存在.合法等等.我们都要单独写代码.学习了ASP.NET的验证控件,省了非常多事. ASP.NET能够轻松实现对用户输入的验证. 让我们好好回 ...

  8. webForm中的验证控件

    1.非空验证控件:RequireFieldValidator  :2.数据比较验证:CompareValidator :3.数据范围验证:RangeValidator :4.正则表达式验证:Regul ...

  9. NET中验证控件表达式汇总

    ASP.NET为开发人员提供了一整套完整的服务器控件来验证用户输入的信息是否有效.这些控件如下: 1.RequiredFieldValidator:验证一个必填字段,如果这个字段没填,那么,将不能提交 ...

随机推荐

  1. 在yii中使用分页

    yii中使用分页很方便,如下两种方法: 在控制器中: 1. $criteria = new CDbCriteria(); //new cdbcriteria数据库$criteria->id = ...

  2. EL 表达式 取值将 < 转成 &1t 问题

    因为用JeeCMS,JeeCMS后台会存入<p></p> 内容到数据库中 用play框架取后台值的时候 用的EL表达式在前台展示 出现将< 转成 &1t HTML ...

  3. CentOS 7.0 安装go 1.3.1

    1.下载go安装包 golang中国上下载 2. 解压 tar -zxf go1.3.1.linux-amd64.tar.gz -C /usr/local/ 3. 修改 etc/profile 文件在 ...

  4. 帝国cms教程:帝国cms在列表页使用sys_ResizeImg函数自动生成不同大小的缩略图

    先说说 ecms7.0的sys_ResizeImg这个函数 下面是在列表页使用方法 在右侧把使用程序代码打勾! 如下图: 例如你原先的列表页循环内容代码为: <li><img src ...

  5. 本地日志数据实时接入到hadoop集群的数据接入方案

    1. 概述 本手册主要介绍了,一个将传统数据接入到Hadoop集群的数据接入方案和实施方法.供数据接入和集群运维人员参考. 1.1.  整体方案 Flume作为日志收集工具,监控一个文件目录或者一个文 ...

  6. maven为不同环境打包(hibernate)-超越昨天的自己系列(6)

    超越昨天的自己系列(6) 使用ibatis开发中,耗在dao层的开发时间,调试时间,差错时间,以及适应修改需求的时间太长,导致项目看起来就添删改查,却特别费力.   在项目性能要求不高的情况下,开始寻 ...

  7. Standard C++ Programming: Virtual Functions and Inlining

    原文链接:http://www.drdobbs.com/cpp/standard-c-programming-virtual-functions/184403747 By Josée Lajoie a ...

  8. UVa 10747 - Maximum Subsequence

    题目大意:给出n个数,从中选取k个,使得乘积最大,并且尽量使和最大 分析:首先按照数的绝对值大小排序.然后就要分三大类情况讨论: (1)前k个中选到0:如果选到0的话,乘积一定是0,所以尽量选大的数, ...

  9. Integer to Roman

    Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...

  10. Oracle语句

    分页查询: select rn,last_name,salary from( select rownum rn,last_name,salary from( select last_name,sala ...