如何将PasswordChar属性设置为asp.net TextBox?

3

我有一个密码文本框,想要设置密码字符,那么在asp.net中应该使用哪个属性?

<asp:TextBox TextMode="Password" runat="server" />

4
阅读此文章:https://dev59.com/RFLTa4cB1Zd3GeqPXR2k该文章讨论了如何更改HTML表单中密码框的显示字符。它提供了几种方法来实现这一目标,包括使用JavaScript、CSS和HTML5。对于需要自定义密码输入框的开发人员来说,这些方法都是有用的。 - Damith
3个回答

1

PasswordChar属性位于System.Windows.Forms命名空间下,不适用于asp .net Web应用程序。

您可以尝试使用JavaScript将其更改为其他字符,如“*”或“@”。

您可以参考以下示例:

<script type="text/javascript">
        function onTextChange(obj)
        {
            document.getElementById('hdnActualTextValue').value = obj.value;
            obj.value = '';
            for(int i=0; i<obj.value.length;i++)
            {
                obj.value +='*';//OR ANY OTHER CHARACTER OF YOUR CHOICE
            }
        }
        </script>

        <asp:TextBox ID="txtValue" runat="server" onblur="javascript:onTextChange(this);"
            onkeyup="javascript:onTextChange(this);" onkeypress="javascript:onTextChange(this);"></asp:TextBox>
        <asp:HiddenField ID="hdnActualTextValue" runat="server" />

或者您可以在HTML中使用input
<label>PW: <input type="password"></label>

2
@HarshitTailor 我不知道为什么这个答案被接受。JavaScript 不起作用(1. HiddenField 无法找到,除非 ClientIDMode 设置为静态。2. for 循环具有无效语法,即使修复了也永远不会进入)。即使将所有内容都修复为预期工作,TextBox 和 HiddenField 的值在提交时也将为空…考虑到在 keypress、keyup 和 blur 上将值清空…而“OR”选项只是您的原始帖子将如何呈现为 HTML… - MikeSmithDev

1

我认为如果您正在使用Web Forms,则其中的密码字符是固定的。除非您在运行时使用Javascript更改某些行为,否则无法更改。

当我们在WebForms中使用时,默认情况下设置了PasswordCharacters。

查看此链接。您可以了解一些我所说的内容。


1
这就是为什么我告诉你在Web表单中无法设置PasswordCharacters的原因。因为在Web表单中,密码字段的行为取决于浏览器... - Rahul Gokani
1
不,我认为您不能直接将PasswordChar属性设置为TextBox。 - Rahul Gokani

1

只需在asp中使用TextMode属性即可。

<asp:TextBox ID="txtValue" runat="server" TextMode ="Password"> </asp:TextBox>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接