Текстовое поле с использованием текстового пароля, не отображающего текст asp.net С#

У меня есть несколько кнопок в веб-форме, и когда пользователь нажимает на них, они будут обновлять текстовое поле. Это сработало, пока я не добавил textmode = password. Теперь текстовое поле больше не отображает текст. Я отлаживал приложение, и свойство text получает значение, но еще раз оно не отображается.

Вот что я пробовал:

 protected void btn_punch_7_Click(object sender, EventArgs e)
    {

        const string string_punch_Number_7 = "7";
        var text = txt_punch.Text;
        text += string_punch_Number_7;

        txt_punch.Text = text;


    }

    protected void btn_punch_8_Click(object sender, EventArgs e)
    {
        const string string_punch_Number_8 = "8";
        var text = txt_punch.Text;
        text += string_punch_Number_8;

        txt_punch.Text = text;

    }

Я тоже устал от этого:

public partial class WebForm3 : System.Web.UI.Page
{
    public string string_punch;
    protected void Page_Load(object sender, EventArgs e)
    {
        MultiView1.SetActiveView(View1);

        txt_punch.Width = 300;
        txt_punch.Height = 50;
        txt_punch.MaxLength = 4;
        txt_punch.Attributes.Add("OnChange", string_punch);

    }

    protected void btn_punch_7_Click(object sender, EventArgs e)
    {

        const string string_punch_Number_7 = "7";
        string_punch = txt_punch.Text;
        string_punch += string_punch_Number_7;

        txt_punch.Text = string_punch;


    }

    protected void btn_punch_8_Click(object sender, EventArgs e)
    {
        const string string_punch_Number_8 = "8";
        string_punch = txt_punch.Text;
        string_punch += string_punch_Number_8;

        txt_punch.Text = string_punch;

    }

Ответ 1

Насколько ты отчаянный?

Если вы недостаточно отчаянно пытаетесь что-либо предпринять, что угодно, чтобы заставить его работать, не читайте дальше. Это будет нехорошо. ОК? ОК.

Хитрость заключается в том, чтобы веб-приложение подумало, что это не пароль. Другими словами, не используйте TextMode="password".
Затем в Page_Load поместите txt_punch.Attributes["type"] = "password"

Это. Браузер будет знать это поле пароля (и показать звездочки или точки), но серверная сторона не будет знать, поэтому он отправит контент клиенту, поскольку он был простым текстом. Конечно, это также поместит пароль в источник страницы...

Ответ 2

Когда вы устанавливаете свойство TextMode для TextBox для пароля, поведение по умолчанию заключается в том, что оно не отображает значение свойства Text.

Это делается для того, чтобы не открывать маскированные пароли в исходном HTML файле страницы.

Одним из решений является использование атрибута для хранения значения пароля:

TextBox.Attributes.Add("value", "yourPassword");

Источник

Ответ 3

Исходя из варианта одного из ответов Колы, вы можете попробовать следующее:

TextBox.Attributes["value"] = "Whatever value goes here";

Ответ 4

Это ошибка asp.net! Алгоритм проверки электронной почты очень строгий, что приводит к исключению некоторых действительных писем. Если вы переключите TextMode с "Пароль" tp "SingleLine", ваш код будет работать.

Ответ 5

мы не можем напрямую назначать значения в текстовое поле пароля. для присвоения значений текстовому полевому паролю мы должны использовать атрибуты текстового поля

Textbox1.Attributes.Add("value",variable/"string");

Ответ 6

Если для свойства textbox установлено значение TextMode = "Password", текстовое поле в режиме редактирования отображается пустым. Если вы заполните значение как

TextBox.Text = "Password";

затем не работает, и вам нужно снова ввести пароль, чтобы сохранить форму. Вы можете использовать атрибуты для заполнения значения в текстовом поле, как показано ниже.

TextBox.Attributes["value"] = "your password value";

Ответ 7

Пароль обычно не предназначены для показа, но если вы намерены сделать эту страницу, может помочь вам решение