c# - 尝试在 asp.net 中启用显示/隐藏功能

标签 c# asp.net textbox passwords show-hide

我正在尝试启用显示/隐藏密码功能。我正在使用 C# 创建一个 asp.net web 表单。

我的代码如下,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class show : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (CheckBox1.Checked == false)
        {
            TextBox1.TextMode = TextBoxMode.Password;
        }

        if (CheckBox1.Checked == true)
        {
            TextBox1.TextMode = TextBoxMode.SingleLine;
        }
    }
}

在 mypage.aspx 上,

有一个 autopostback 属性为 true 的复选框和一个 textmode 为 password 的文本框。

预期结果是:-

选中复选框时将密码显示为文本。

取消选中复选框时隐藏密码。

问题是:-

这段代码只工作一次,即当复选框再次被选中或取消选中时,它不会被执行。 文本框变为空白。

请尽快帮助我。

最佳答案

您正在丢失 TextBox 中的值,因为在选择更改时,页面会再次加载,您需要检查它是回发还是第一次加载并设置 textBox 值。

    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            string Password = TextBox1.Text;
            TextBox1.Attributes.Add("value", Password);
        }
     }

您的问题将得到解决。我已经测试过了。

希望对您有所帮助!

关于c# - 尝试在 asp.net 中启用显示/隐藏功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42430601/

相关文章:

html - Div 未正确显示

javascript - 浏览器关闭时清除 session 值

asp.net - 调整 div 标签的大小

c# - 测试文本框文本是否已完成文本更改时使用的最佳方法/事件是什么

c# - 文本更改事件未触发

c# - TPL 如何执行 'Call-Back'

c# - 以下是加密算法吗?如果是这样,它是可逆的吗?

c# - 加载图像显示 ASP.NET 中的所有服务器端请求以及客户端请求

autocomplete - 使用 Bootstrap Typeahead 处理自动完成文本框中的选定事件?

c# - 无法使用 TestStack.White 自动编辑控件和列表框