爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
ASP.NET教程
{ 100分 } ,特性(Attributes)在Asp.net项目中的实际例子。好了立即给分
{ 100分 } ,特性(Attributes)在Asp.net项目中的实际例子。好了立即给分
日期:2014-05-18 浏览次数:20758 次
{ 100分 } ,求一个特性(Attributes)在Asp.net项目中的实际例子。急,好了立即给分。
如题,请您帮我一把。
------解决方案--------------------
翻了半天,才在箱底找了,此文,希望对你有帮助。
.net Attribute效验的使用方法
近来在做.net的项目,因为会用到实体类,就想在实体类上用Attribute信息来对实体类中的属性进行配制。因为在网上没能找到类似的包,就只能在五一的时候自己写了一个,以下是这个包的使用方法。
首先:需要在web.config中配制验证器。
xml 代码
<configSections>
<sectionGroup name= "Validate ">
<section name= "Validators " type= "Validator.Configuration.ValidateConfigurationSection, Validator "/>
</sectionGroup>
</configSections>
<Validate>
<Validators>
<Validator name= "Email " validateType= "match " validateInfo= "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* " message= "{0} is\ 't Email "/>
<Validator name= "NotNull " validateType= "inner " validateInfo= "NotNull " message= "{0}不能为空! "/>
<Validator name= "Length " validateType= "inner " validateInfo= "Length " message= "{0}字符串长度不能超过{1}! "/>
<Validator name= "Decimal " validateType= "inner " validateInfo= "Decimal " message= "{0}必须大于{1},{0}必须小于{1} "/>
<Validator name= "TestClass " validateType= "clazz " validateInfo= "Validator.Test.TestObj, Validator " message= "{0}class测试! "/>
</Validators>
</Validate>
Validator 的Name为验证器的名称,这里要以attribute类中工ValidatorName相对应,validateType是一个枚举,他有代表着,验 证器的三个类型,inner是使用内置的验证器,match是正则表达式的验证器,clazz是实现iValidator的类做的验证器。后面validateInfo在种自的类型中有各自的意义,在inner时,他要以Name相同;在match时,他是一个正则表达式;在clazz时,他是一个类的AssemblyInfo信息,要显示的错误信息。
第二部,为每一个验证器写一个Attribut.
c# 代码
public class NotNullValidateType : ValidateType
{
public NotNullValidateType(String sColName)
{
this.ColName = sColName;
this.ValidatorName = "NotNull ";
}
}
在这里我们必须继承ValidateType类,在这个类里我们实现了IValidateType的接口,我们必须为这个接口中的属性进行填值。
其中ValidatorName 是一个必输的,他就是在web.config 的配置的验证器名,ColName 是字段的名字,param 是要传入的参数。
c# 代码
public interface IValidateType
{
string Param{get;set;}
string ValidatorName{get;set;}
string ColName{get;set;}
}
第三部,验证器的编写
inner验证器是内置的验证器,所以我们不能添加他。
match验证器是正则表达式验证器,只要在配置中配制好就可以拥有这个功能。
clazz验证器是自定义类验证器,这个类配置到config中,且已经实现了IValidator.cs类。
c# 代码
public class TestObj :ValidateType, IValidator
{
public TestObj()
{
this.ValidatorName = "TestClass ";
}
public TestObj(String sColName)
{
this.ColName = sColName;
this.ValidatorName = "TestClass ";
}
#region IValidator 成员
public bool validator(object value, ValidatorInfo vi, IValidateType vt)
{
//Console.Write( "hello world gettype ");
return false;
}
#endregion
}
最后, attribute的使用,
c# 代码
public class UserObject
{
string _code;
string _email;
[ValidateType( "NotNull ")]
[TestObj]
[StringLengthValidateType(2)]
public string Code
{
get { return _code; }
set { _code = value; }
}
[EmailValidateType(null)]
public string Email
{
get { return _email; }
set { _email = value
上一篇:[环境搭建] VS-Visual Studio-IIS Express 支持局域网访问 远程调试
下一篇: 日期范围的有关问题,……
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
小弟我得CSS文件中url指向得路径是动态得。请教有什么好的方法解决这个有关问题
求解释代码意思解决方法
win2008 IIS7环境支配.net framework 4.0网站需要安装vs2010吗
easyui datagrid中部分显示一个数据库中的数据,一部分显示一个视图中的数据
ASP.NET跟PHP
repeater触发事件解决思路
vs2008 代码智能提示出有关问题了
怎么保持Controls.add()的控件的状态
一个很简单的数据安插,可老是会出错
推荐阅读
更多>
怎么将指定的文件(doc)上传,保存到数据库里面
怎样获取查询出来的数据的字段名?解决办法
初学asp.net,在为选择gridview还是listview而苦恼!该如何处理
关于.vb文件拷贝到其他目录后调用报错的有关问题
关于自定义事件的一点体会
4个P3 700 和一个P4 3.0 哪一个的处理能力更大一些?解决方法
C++和JAVA哪个前景好。解决办法
NeatUpload 下传文件在 iis7.0 配置有关问题 关于集成模式和经典模式
iframe中可以加ASPX页面?解决办法
哪位高手有FCKeditor.net2.2呀
重装 visual studio 2010 的有关问题,
日期时间显示有关问题
ADO.NET通用DBHelper类,自己这两天琢磨的,和大家分享上,主要是希望有高手能指点上,好让小弟我改进
把客户端控件作为服务器控件运行和真正的服务器控件有什么不同呢?该如何解决
从数据库中读取二进制文件。解决方法
vs2003编译时异常
VS2005中Global.asax有关问题(好久不提问了)
千辛万苦做好了一个asp.net网站,结果不会发布!解决方法
在aps.net应用中,C#可以读取javascript的变量吗?该如何解决
求服务器空间合租解决思路