Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET-隐藏边界字段输入_C#_Asp.net_Detailsview_Boundfield - Fatal编程技术网

C# ASP.NET-隐藏边界字段输入

C# ASP.NET-隐藏边界字段输入,c#,asp.net,detailsview,boundfield,C#,Asp.net,Detailsview,Boundfield,我通过ASP.NET中的DetailsView控件实现了与数据库的简单连接。其中一个字段是密码,因此我希望在键入时隐藏其内容。我的第一个想法是TextBox的TextMode=“Password”,但由于BoundField类没有实现它,所以失败得很惨。我猜它必须通过事件处理程序以编程方式完成,但我不知道如何完成 如果需要,以下是我迄今为止编写的标记: <body> <form id="form1" runat="server"> <div cla

我通过ASP.NET中的DetailsView控件实现了与数据库的简单连接。其中一个字段是密码,因此我希望在键入时隐藏其内容。我的第一个想法是TextBox的TextMode=“Password”,但由于BoundField类没有实现它,所以失败得很惨。我猜它必须通过事件处理程序以编程方式完成,但我不知道如何完成

如果需要,以下是我迄今为止编写的标记:

<body>
    <form id="form1" runat="server"> 
    <div class="register" runat="server">
        <asp:DetailsView ID="InsertData" runat="server" HorizontalAlign="Center" 
            Height="100px" Width="170px" 
            AutoGenerateRows="False" DataSourceID="usersConnectionString"
            DefaultMode="Insert" OnItemCommand="Button_click" OnItemInserted="Insert_click">
            <Fields>
                <asp:BoundField DataField="userName" HeaderText="Name" 
                    SortExpression="userName" />
                <asp:BoundField DataField="userPassword" HeaderText="Password"
                    SortExpression="userPassword" />
                <asp:BoundField DataField="userEmail" HeaderText="Email" 
                    SortExpression="userEmail" />
                <asp:CommandField ShowInsertButton="True" />
            </Fields>
        </asp:DetailsView>
        <asp:SqlDataSource ID="usersConnectionString" runat="server" 
            ConnectionString="<%$ ConnectionStrings:usersConnectionString %>" 
            InsertCommand="INSERT INTO user(userName, userPassword, userEmail) VALUES (@userName, @userPassword, @userEmail)">
            <InsertParameters>
                <asp:Parameter Name="userName" Type="String" />
                <asp:Parameter Name="userPassword" Type="String" />
                <asp:Parameter Name="userEmail" Type="String" />
            </InsertParameters>
        </asp:SqlDataSource>
        <asp:Label ID="Message_label" ForeColor="red" Visible="false" runat="server" Text="[messageLabel]"></asp:Label>
    </div>
    </form>
</body>

最好的方法是制作一个ItemTemplate,其中包含一个textbox控件,并将其输入模式/类型设置为密码。
ItemTemplate允许您在标准边界字段列之外添加您喜欢的普通/自定义用户控件

为什么要显示密码?您确实应该有一个显示密码对话框的链接,例如,供用户输入/更改其密码。考虑一下这里的安全问题。相反,如果不确定,可以尝试使用TemplateField,并添加一个文本框,然后可以将输入类型设置为password@Ahmed我试图混淆想要注册的用户输入的文本。你知道我的意思-那些黑色的小圆圈而不是字符(至少Firefox是这样呈现的)?安全不是这里的问题,因为这仅仅是一项学校作业。@Ahmed你的建议很有效,如果你愿意,就回答这个问题,我会接受的。谢谢