提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-08-24 11:32:18.000|阅读 639 次
概述:我们来建立一个信用卡认证控件。首先我们需要继承Basevalidator''''s的功能。当然你可以自己写,但那不是一个严格意义上的自定义控件,不是吗?不仅如此而且会占用你的很多时间。因此使用现成的东西对我们来说更划算。现在我们就开始吧。首先,我们建个包含我们控件功能的类文件。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
我们来建立一个信用卡认证控件。首先我们需要继承Basevalidator''''s的功能。当然你可以自己写,但那不是一个严格意义上的自定义控件,不是吗?不仅如此而且会占用你的很多时间。因此使用现成的东西对我们来说更划算。现在我们就开始吧。首先,我们建个包含我们控件功能的类文件。
1: using System;
2: using System.Web.UI;
3: using System.Web.UI.WebControls;
4:
5: namespace CustomValidators
6: {
7: ///
8: /// Summary description for Class1.
9: ///
10:
11: //-- 从 BaseValidator 类继承过来, 从而可以基类的一些功能.
12: public class CreditCardValidator : BaseValidator
13: {
14: protected override bool EvaluateIsValid()
15: {
16: //-- 把validation 控件的 controltovalidate 值赋给valueToValidate.
17: string valueToValidate = this.GetControlValidationValue(this.ControlToValidate);
18: int indicator = 1; //-- 每隔一位数的标记
19: int firstNumToAdd = 0; //-- 用来储存第一组数字的和
20: int secondNumToAdd = 0; //-- 用来储存第二组数字的和
21: string num1; //-- 用于当每隔一位数相加的和大于10时,储存最左边的整数
22:
23: string num2; //-- 用于当每隔一位数相加的和大于10时,储存最右边的整数
24:
25:
26: //-- 把信用卡号字符串转换为一个字符数组
27: char[] ccArr = valueToValidate.ToCharArray();
28:
29: for (int i=ccArr.Length-1;i>=0;i--)
30: {
31: char ccNoAdd = ccArr[i];
32: int ccAdd = Int32.Parse(ccNoAdd.ToString());
33: if (indicator == 1)
34: {
35: //-- 当我们碰到奇数位时,将它加入到总值里
36: firstNumToAdd += ccAdd;
37: //-- 将标记设为0,使下一次循环跳过此程序段
38: indicator = 0;
39: }
40: else
41: {
42: //-- 如果当前整数乘以2之后大于10,就将和分为两个整数并将它们相加,
43: //-- 相加的值再加到总值里.
44:
45: if ((ccAdd + ccAdd) >= 10)
46: {
47: int temporary = (ccAdd + ccAdd);
48: num1 = temporary.ToString().Substring(0,1);
49: num2 = temporary.ToString().Substring(1,1);
50: secondNumToAdd += (Convert.ToInt32(num1) + Convert.ToInt32(num2));
51: }
52: else
53: {
54: //-- 否则,将它们相加,相加的值再加到总值里.
55: secondNumToAdd += ccAdd + ccAdd;
56: }
57: //-- //-- 将标记设为1,我们就能对下一个整数执行不同的代码
58:
59: indicator = 1;
60: }
61: }
62: //-- 如果两个数的和被10整除,那么卡是有效的,否则,无效.
63:
64: bool isValid = false;
65: if ((firstNumToAdd + secondNumToAdd) % 10 == 0)
66: {
67: isValid = true;
68: }
69: else
70: {
71: isValid = false;
72: }
73: return isValid;
74: }
75: }
76: }
77:
接下来,将它保存为Validator.cs 在你的项目文件夹里.现在,为了能使用它,我们把它编译成dll.做这些你可以建一个批处理文件(.bat),也可以打开windows命令行输入以下字符:
csc /target:library /out:c:\inetpub\wwwroot\bin\Validator.dll *.cs /r:System.dll,System.Web.dll
有了dll文件你就可能使用这个控件了。随便打开一个你喜欢的编辑器,输入以下代码:
1: <%@ Register TagPrefix="custom" Namespace="CustomValidators" Assembly="Validator" %>
2:
3: <html>
4: <body>
5: <form runat="server">
6: <asp:TextBox ID="CCNumber" Runat="server" />
7: <custom:CreditCardValidator
8: ControlToValidate="CCNumber"
9: Runat="server"
10: ErrorMessage="Credit Card Number Invalid!" />
11: <asp:Button Text="Validate" Runat="server" />
12: </form>
13: </body>
14: </html>
保存并访问此页,输入一个测试的信用卡号码,好了,你现在已明白如何在ASP.NET中定制控件了。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:IT专家网面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢