zoukankan      html  css  js  c++  java
  • 自定义CreateUserWizard 控件

    最近的项目里要做一些维护,以前用的是CreateUserWizard ,结果发现里面的验证功能不够,在把创建的用户信息导入到别的表里的时候,经常会有长度的问题。或者,密码长度超出128位,用户会创建失败,但返回的信息不够友好。所以需要做一些自定义,来增强相关的功能。

    代码
    <asp:CreateUserWizard ID="CreateUserWizard1" Runat="server">  
      
    <WizardSteps>  
        
    <asp:CreateUserWizardStep runat="server">  
        
    </asp:CreateUserWizardStep>  
        
    <asp:CompleteWizardStep runat="server">  
        
    </asp:CompleteWizardStep>  
      
    </WizardSteps>  
    </asp:CreateUserWizard>

    这个是插入CreateUserWizard以后的状况。

    做一些定制化

    代码
    <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">  
        
    <ContentTemplate>  
            
    <table border="0" style="font-size: 100%; font-family: Verdana" mce_style="font-size: 100%; font-family: Verdana">  
                
    <tr>  
                    
    <td align="center" colspan="2" style="font-weight: bold; color: white; background-color: #5d7b9d" mce_style="font-weight: bold; color: white; background-color: #5d7b9d">  
                        Sign Up for Your New Account
    </td>  
                
    </tr>  
                
    <tr>  
                    
    <td align="right">  
                        
    <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">  
                            User Name:
    </asp:Label></td>  
                    
    <td>  
                        
    <asp:TextBox ID="UserName" runat="server"></asp:TextBox>  
                        
    <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"  
                            ErrorMessage
    ="User Name is required." ToolTip="User Name is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>  
                    
    </td>  
                
    </tr>  
                
    <tr>  
                    
    <td align="right">  
                        
    <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">  
                            Password:
    </asp:Label></td>  
                    
    <td>  
                        
    <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>  
                        
    <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"  
                            ErrorMessage
    ="Password is required." ToolTip="Password is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>  
                    
    </td>  
                
    </tr>  
                
    <tr>  
                    
    <td align="right">  
                        
    <asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">  
                            Confirm Password:
    </asp:Label></td>  
                    
    <td>  
                        
    <asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password"></asp:TextBox>  
                        
    <asp:RequiredFieldValidator ID="ConfirmPasswordRequired" runat="server" ControlToValidate="ConfirmPassword"  
                            ErrorMessage
    ="Confirm Password is required." ToolTip="Confirm Password is required."  
                            ValidationGroup
    ="CreateUserWizard1">*</asp:RequiredFieldValidator>  
                    
    </td>  
                
    </tr>  
                
    <tr>  
                    
    <td align="right">  
                        
    <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">  
                            E-mail:
    </asp:Label></td>  
                    
    <td>  
                        
    <asp:TextBox ID="Email" runat="server"></asp:TextBox>  
                        
    <asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email"  
                            ErrorMessage
    ="E-mail is required." ToolTip="E-mail is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>  
                    
    </td>  
                
    </tr>  
                
    <tr>  
                    
    <td align="right">  
                        
    <asp:Label ID="QuestionLabel" runat="server" AssociatedControlID="Question">  
                            Security Question:
    </asp:Label></td>  
                    
    <td>  
                        
    <asp:TextBox ID="Question" runat="server"></asp:TextBox>  
                        
    <asp:RequiredFieldValidator ID="QuestionRequired" runat="server" ControlToValidate="Question"  
                            ErrorMessage
    ="Security question is required." ToolTip="Security question is required."  
                            ValidationGroup
    ="CreateUserWizard1">*</asp:RequiredFieldValidator>  
                    
    </td>  
                
    </tr>  
                
    <tr>  
                    
    <td align="right">  
                        
    <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">  
                            Security Answer:
    </asp:Label></td>  
                    
    <td>  
                        
    <asp:TextBox ID="Answer" runat="server"></asp:TextBox>  
                        
    <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" ControlToValidate="Answer"  
                            ErrorMessage
    ="Security answer is required." ToolTip="Security answer is required."  
                            ValidationGroup
    ="CreateUserWizard1">*</asp:RequiredFieldValidator>  
                    
    </td>  
                
    </tr>  
                
    <tr>  
                    
    <td align="center" colspan="2">  
                        
    <asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password"  
                            ControlToValidate
    ="ConfirmPassword" Display="Dynamic" ErrorMessage="The Password and Confirmation Password must match."  
                            ValidationGroup
    ="CreateUserWizard1"></asp:CompareValidator>  
                    
    </td>  
                
    </tr>  
                
    <tr>  
                    
    <td align="center" colspan="2" style="color: red" mce_style="color: red">  
                        
    <asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal>  
                    
    </td>  
                
    </tr>  
            
    </table>  
            
    <asp:CheckBox ID="SubscribeCheckBox" runat="server" Checked="True" Text="Send me a monthly newsletter." />  
            
    <br />  
            
    <asp:CheckBox ID="ShareInfoCheckBox" runat="server" Checked="True" Text="Share my information with partner sites." />  
        
    </ContentTemplate>  
    </asp:CreateUserWizardStep>  

    这个也是MSDN里面的内容,定制好了,跑一下。

    不行,验证都没起作用啊。

    如果是一般自己做的网页,button的CausesValidation会设为true来验证页面输入。这个页面上也有button,怎么才能把它找出来呢?

    这也需要自定义。

    点击页面上CreateUserWizard旁边的小箭头,选择Convert to CustomNavigationTemplate,生成代码如下

    代码
    <CustomNavigationTemplate>   
        
    <table border="0" cellspacing="5" style="100%;height:100%">   
            
    <tr align="right">   
                
    <td align="right" colspan="0">   
                    
    <asp:Button ID="StepNextButton" runat="server" CommandName="MoveNext" Text="Create User" ValidationGroup="CreateUserWizard1" />   
                
    </td>   
            
    </tr>   
        
    </table>   
    </CustomNavigationTemplate>

    这段代码放在CreateUserWizardStep里,就可以做到定制button了。

    再来,OK,再提交要先过验证了。

    总结:实现CreateUserWizard中button的自定义是关键

  • 相关阅读:
    ASP.NET Core学习——2
    ASP.NET Core学习——1
    ASP.NET Core学习——前言
    数组的特性
    算法的5个层次
    VScode中写vue代码 Ctrl+/添加注释失效
    报错:[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the paren
    Vue中-下拉框可以选择可以填写
    Vue中对获取的数据进行重新排序
    感想
  • 原文地址:https://www.cnblogs.com/kofkyo/p/1623876.html
Copyright © 2011-2022 走看看