簡體   English   中英

如何在asp.net文本框控件中以密碼字符和原始形式的組合形式顯示字符串?

[英]How can I display a string as a combination of password chars and original form in asp.net Textbox control ?

我有一個Textbox控件,用戶可以在其中通過此控件添加/編輯/刪除值。它僅允許10位數字值。 前5位應顯示為密碼字符,后5位應顯示為原始格式。 (例如:值1234567890應該顯示為* ** 67890)。

如何在asp.net文本框控件中實現此功能?

也許要使兩個文本框靠近在一起。 即使給定了第一個框的行為,即當填充前5個字符時,焦點仍集中在第二個框上。

另一種方法是擁有一個文本框和一個隱藏框。 在鍵入字符時,它們會被隱藏。 隱藏的內容將呈現到文本框,其中前5個字符后,您將所有其他字符替換為*

像這樣分離出兩個文本框,然后將兩者組合(可能合並到一個復合控件中),將兩個文本框的連接值作為一個屬性公開。

標記

<div>
    <asp:TextBox ID="passwordPortionTextBox" runat="server" TextMode="Password" MaxLength="5"></asp:TextBox>
    <asp:TextBox ID="normalPortionTextBox" runat="server" MaxLength="5"></asp:TextBox>
</div>

腳本

$(function () {

    $('#<%= passwordPortionTextBox.ClientID %>').keypress(function () {
        if ($(this).val().length == 4) {
            $('#<%= normalPortionTextBox.ClientID %>').focus();
        }
    });

});

您不能在單個控件中實現此功能。 使用兩個文本框控件(並排),並將一個設置為密碼字段,將另一個設置為純文本字段。 當然,將兩者的最大長度都設置為5。

我認為這種行為非常具體,也許最好的方法是創建自己的文本框,該文本框從asp.net文本框控件派生,然后向其中添加功能。

那並不容易。 :D也許您也可以使用客戶端代碼,查找已更改的文本或按鍵,並將字符更改為密碼字符,但是隨后您也必須將原始字符串存儲在某個位置。

我並不是ASP.NET的真正專家,但我希望我的回答對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM