0

嗨,我在从密码文本框中获取数据时遇到问题,这是我的 asp 代码

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

这是我在代码站点中的 C# 代码

NameValueCollection nvc = Request.Form;
 if (!string.IsNullOrEmpty(nvc["txtConfirmPassword"]))
{ string pass = nvc["txtConfirmPassword"].ToString(); }

并且总是导致 nvc["txtConfirmPassword"] = null 我无法在代码站点中获取密码值,请任何人都可以帮助我

4

3 回答 3

0

您可以使用控件的 ID 访问该值,因此...

var password = txtConfirmPassword.Text;

由于容器等导致的标识符转换,它可能不会在表单值集合中看到,但我看不出以这种方式尝试访问的任何特定原因。

于 2013-07-08T09:01:12.287 回答
0

您可以使用.Text属性访问输入的文本。

string strConfirmPass = txtConfirmPassword.Text;
于 2013-07-10T10:56:15.190 回答
-1

出于安全原因,密码不会显示在 asp.net 中,并且您无法在回发后获取该值。

您可以通过将密码值作为属性添加到控件来解决此问题。由于 TextBox 呈现为 HTML 输入控件,因此您可以轻松设置 value 属性,就像设置 Text 属性一样。

  txtConfirmPassword.Attributes.Add("value", "yourRealPassword");

使用它来设置值,而不是设置 Text 属性。您仍然可以通过 Text 属性从控件中读取值。

编辑 -

在评论的基础上,我将编辑我的答案以获得更好的解释在 ASP.NET Password TextBox 在 Postback 之后失去价值,这里有几个链接来支持这个声明

ASP:TextBox 值仅在密码时才会在回发中消失

这是一个链接,它将解释如何在回发期间安全地保留密码字段

代码项目链接

希望能帮助到你。

于 2013-07-08T08:57:29.663 回答