Zhen.Liang Life
Microsoft MVP 2003~2007

导航

统计
公告
 

2006年11月29日

PasswordStrength 一个ASP.NET AJAX的Ajax ControlToolKit的一个用于密码长度检验的控件。
在用户注册表时候可以直接使用,可以非常友好的提示用户设置一个安全的密码。
实现效果如下:

实现代码如下
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:TextBox ID="TextBox1" runat="server" TextMode="Password"></asp:TextBox><br />
                <cc1:PasswordStrength ID="PasswordStrength1" runat="server" TargetControlID="TextBox1"
                StrengthIndicatorType="Text" PreferredPasswordLength="10" PrefixText="安全性:"
                TextStrengthDescriptions="很弱的密码;弱的密码;一般的密码;强壮的密码;极好的密码"
                 MinimumNumericCharacters="2" MinimumSymbolCharacters="0" RequiresUpperAndLowerCaseCharacters="true"
                 TextCssClass="PasswordCss"
                >
                </cc1:PasswordStrength>
            </ContentTemplate>
        </asp:UpdatePanel>
        <br />
    </form>
</body>
在这里我将认为阅读这篇文章的人具备了基本的ASP.NET AJAX的知识,所以ScriptManager 和UpdatePanel 我就不再介绍了。
PasswordStrength 控件用于验证输入字符串长度的,其中包括一些基本属性
--TargetControlID 验证目标控件ID
--StrengthIndicatorType 密码长度验证类型
--PreferredPasswordLength 最佳密码长度
--MinimumNumericCharacters 最少包含数字数目
--MinimumSymbolCharacters 最少包含字符数目
--RequiresUpperAndLowerCaseCharacters 是否需要大小写转换
--PrefixText 描述文字
--TextStrengthDescriptions 密码长度分类描述
。。。。。

P.S
初学ASP.NET AJAX对于异步更新技术还不完全了解,如果有高手看了,希望给出一些学习指导哈.

posted @ 2006-11-29 09:32 Zhen.Liang 阅读(166) 评论(0) 编辑
 
今天一个同学在做ProjectHoshimi的时候,自己在封装一个对象库。
希望使用C#运算符重载>的操作,语法正确,但是总是不能成功。
按照MSDN C# Keyword opeartor定义可以有下面的语法构成
public static result-type operator unary-operator ( op-type operand )
public static result-type operator binary-operator (
op-type operand,
op-type2 operand2
)
public static implicit operator conv-type-out ( conv-type-in operand )
public static explicit operator conv-type-out ( conv-type-in operand )
那么下面代码就是正确的
class A
{
private int a;
public static bool operator>(A a,A b){
return a.a > b.a;
}
public A(int value)
{
a = value;
}
}
为什么不能成功编译呢?因为>运算符在.NET Framework中不允许但对出现,如下代码就是正确的。
class A
{
private int a;
public static bool operator>(A a,A b){
return a.a > b.a;
}
public static bool operator <(A a, A b)
{
return a.a < b.a;
}
public A(int value)
{
a = value;
}
}
为什么需要这样做呢?
其实我觉得这个就是C#在设计上面默认了一些让系统编码更安全的一些约束。
如果没有这样的约束,那么可能是>重载了,但是<没有重载,但是如果有人使用将会发现很未知的错误
posted @ 2006-11-29 09:31 Zhen.Liang 阅读(90) 评论(0) 编辑