ASPxTextBoxBase.Password Property
Gets or sets a value that specifies whether the input is treated as a password and all characters entered into the editor are masked.
Namespace: DevExpress.Web
Assembly:
DevExpress.Web.v20.1.dll
NuGet Package:
DevExpress.Web
Declaration
[DefaultValue(false)]
public virtual bool Password { get; set; }
<DefaultValue(False)>
Public Overridable Property Password As Boolean
Property Value
Type |
Default |
Description |
Boolean |
false |
true if the editor’s characters are masked; otherwise, false.
|
This property is a wrapper of the TextBoxPropertiesBase.Password property. Refer to its description for more information.
Example
According to the security settings which are implemented in our editors, the password can't be set on the server side. So, if you edit a filed that has the Password = true setting, you will see an empty editor, which might cause a number of problems for end-users.
This example illustrates one of possible manners to edit a password field.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="DevExpress.Web.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>How to edit a password field</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" KeyFieldName="ID"
ClientInstanceName="grid" OnRowInserting="ASPxGridView1_RowInserting" OnRowUpdating="ASPxGridView1_RowUpdating">
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0" ShowEditButton="True" ShowNewButton="True" />
<dx:GridViewDataTextColumn Caption="User ID" FieldName="ID" VisibleIndex="1">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="User Name" FieldName="Username" VisibleIndex="2">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Password" VisibleIndex="3">
<PropertiesTextEdit Password="True" ClientInstanceName="psweditor">
</PropertiesTextEdit>
<EditItemTemplate>
<dx:ASPxTextBox ID="pswtextbox" runat="server" Text='<%# Bind("Password") %>'
Visible='<%# ASPxGridView1.IsNewRowEditing %>' Password="True">
<ClientSideEvents Validation="function(s,e){e.isValid = s.GetText()>5;}" />
</dx:ASPxTextBox>
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="popup.ShowAtElement(this); return false;" Visible='<%#!ASPxGridView1.IsNewRowEditing%>'>Edit password</asp:LinkButton>
</EditItemTemplate>
</dx:GridViewDataTextColumn>
</Columns>
<SettingsCommandButton>
<NewButton Text="Add user" />
</SettingsCommandButton>
</dx:ASPxGridView>
<dx:ASPxPopupControl ID="ASPxPopupControl1" runat="server" HeaderText="Edit password" Width="307px" ClientInstanceName="popup">
<ContentCollection>
<dx:PopupControlContentControl ID="Popupcontrolcontentcontrol1" runat="server">
<table>
<tr>
<td>Enter new password:</td>
<td>
<dx:ASPxTextBox ID="npsw" runat="server" Password="True" ClientInstanceName="npsw">
<ClientSideEvents Validation="function(s, e) {e.isValid = (s.GetText().length>5)}" />
<ValidationSettings ErrorDisplayMode="ImageWithTooltip" ErrorText="The password lengt should be more that 6 symbols">
</ValidationSettings>
</dx:ASPxTextBox>
</td>
</tr>
<tr>
<td>Confirm new password:</td>
<td>
<dx:ASPxTextBox ID="cnpsw" runat="server" Password="True" ClientInstanceName="cnpsw">
<ClientSideEvents Validation="function(s, e) {e.isValid = (s.GetText() == npsw.GetText());}" />
<ValidationSettings ErrorDisplayMode="ImageWithTooltip" ErrorText="The password is incorrect">
</ValidationSettings>
</dx:ASPxTextBox>
</td>
</tr>
</table>
<dx:ASPxButton ID="confirmButton" runat="server" Text="Ok" AutoPostBack="False" OnClick="confirmButton_Click">
</dx:ASPxButton>
</dx:PopupControlContentControl>
</ContentCollection>
</dx:ASPxPopupControl>
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DevExpress.Web;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
DataTable dt = new DataTable();
if (Session["data"] == null)
{
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Username", typeof(string));
dt.Columns.Add("Password", typeof(string));
dt.Rows.Add(new object[] {1,"Testuser","abcdef"});
Session["data"] = dt;
}
else
{
dt = Session["data"] as DataTable;
}
ASPxGridView1.DataSource = dt;
ASPxGridView1.DataBind();
}
protected void confirmButton_Click(object sender, EventArgs e)
{
UpdatePasswordField(cnpsw.Text);
ASPxPopupControl1.ShowOnPageLoad = false;
}
protected void UpdatePasswordField(string newPassword)
{
int index = ASPxGridView1.EditingRowVisibleIndex;
DataTable dt = Session["data"] as DataTable;
dt.Rows[index]["Password"] = newPassword;
Session["data"] = dt;
}
protected void ASPxGridView1_DataBound(object sender, EventArgs e)
{
}
protected void ASPxGridView1_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
e.Cancel = true;
DataTable dt = Session["data"] as DataTable;
int test1 = Convert.ToInt32(e.NewValues["ID"]);
string test2 = e.NewValues["Username"].ToString();
string test3 = e.NewValues["Password"].ToString();
dt.Rows.Add(new object[] {Convert.ToInt32(e.NewValues["ID"]), e.NewValues["Username"].ToString(), e.NewValues["Password"].ToString() });
Session["data"] = dt;
((ASPxGridView)sender).CancelEdit();
}
protected void ASPxGridView1_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
{
e.Cancel = true;
int index = ((ASPxGridView)sender).EditingRowVisibleIndex;
DataTable dt = Session["data"] as DataTable;
dt.Rows[index]["ID"] = e.NewValues["ID"];
dt.Rows[index]["Username"] = e.NewValues["Username"];
Session["data"] = dt;
((ASPxGridView)sender).CancelEdit();
}
}
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports DevExpress.Web
Partial Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
Dim dt As New DataTable()
If Session("data") Is Nothing Then
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Username", GetType(String))
dt.Columns.Add("Password", GetType(String))
dt.Rows.Add(New Object() {1,"Testuser","abcdef"})
Session("data") = dt
Else
dt = TryCast(Session("data"), DataTable)
End If
ASPxGridView1.DataSource = dt
ASPxGridView1.DataBind()
End Sub
Protected Sub confirmButton_Click(ByVal sender As Object, ByVal e As EventArgs)
UpdatePasswordField(cnpsw.Text)
ASPxPopupControl1.ShowOnPageLoad = False
End Sub
Protected Sub UpdatePasswordField(ByVal newPassword As String)
Dim index As Integer = ASPxGridView1.EditingRowVisibleIndex
Dim dt As DataTable = TryCast(Session("data"), DataTable)
dt.Rows(index)("Password") = newPassword
Session("data") = dt
End Sub
Protected Sub ASPxGridView1_DataBound(ByVal sender As Object, ByVal e As EventArgs)
End Sub
Protected Sub ASPxGridView1_RowInserting(ByVal sender As Object, ByVal e As DevExpress.Web.Data.ASPxDataInsertingEventArgs)
e.Cancel = True
Dim dt As DataTable = TryCast(Session("data"), DataTable)
Dim test1 As Integer = Convert.ToInt32(e.NewValues("ID"))
Dim test2 As String = e.NewValues("Username").ToString()
Dim test3 As String = e.NewValues("Password").ToString()
dt.Rows.Add(New Object() {Convert.ToInt32(e.NewValues("ID")), e.NewValues("Username").ToString(), e.NewValues("Password").ToString() })
Session("data") = dt
DirectCast(sender, ASPxGridView).CancelEdit()
End Sub
Protected Sub ASPxGridView1_RowUpdating(ByVal sender As Object, ByVal e As DevExpress.Web.Data.ASPxDataUpdatingEventArgs)
e.Cancel = True
Dim index As Integer = DirectCast(sender, ASPxGridView).EditingRowVisibleIndex
Dim dt As DataTable = TryCast(Session("data"), DataTable)
dt.Rows(index)("ID") = e.NewValues("ID")
dt.Rows(index)("Username") = e.NewValues("Username")
Session("data") = dt
DirectCast(sender, ASPxGridView).CancelEdit()
End Sub
End Class
<%@ Page Language="vb" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="DevExpress.Web.v15.1, Version=15.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>How to edit a password field</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" KeyFieldName="ID"
ClientInstanceName="grid" OnRowInserting="ASPxGridView1_RowInserting" OnRowUpdating="ASPxGridView1_RowUpdating">
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0" ShowEditButton="True" ShowNewButton="True" />
<dx:GridViewDataTextColumn Caption="User ID" FieldName="ID" VisibleIndex="1">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="User Name" FieldName="Username" VisibleIndex="2">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Password" VisibleIndex="3">
<PropertiesTextEdit Password="True" ClientInstanceName="psweditor">
</PropertiesTextEdit>
<EditItemTemplate>
<dx:ASPxTextBox ID="pswtextbox" runat="server" Text='<%#Bind("Password")%>'
Visible='<%#ASPxGridView1.IsNewRowEditing%>' Password="True">
<ClientSideEvents Validation="function(s,e){e.isValid = s.GetText()>5;}" />
</dx:ASPxTextBox>
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="popup.ShowAtElement(this); return false;" Visible='<%#Not ASPxGridView1.IsNewRowEditing%>'>Edit password</asp:LinkButton>
</EditItemTemplate>
</dx:GridViewDataTextColumn>
</Columns>
<SettingsCommandButton>
<NewButton Text="Add user" />
</SettingsCommandButton>
</dx:ASPxGridView>
<dx:ASPxPopupControl ID="ASPxPopupControl1" runat="server" HeaderText="Edit password" Width="307px" ClientInstanceName="popup">
<ContentCollection>
<dx:PopupControlContentControl ID="Popupcontrolcontentcontrol1" runat="server">
<table>
<tr>
<td>Enter new password:</td>
<td>
<dx:ASPxTextBox ID="npsw" runat="server" Password="True" ClientInstanceName="npsw">
<ClientSideEvents Validation="function(s, e) {e.isValid = (s.GetText().length>5)}" />
<ValidationSettings ErrorDisplayMode="ImageWithTooltip" ErrorText="The password lengt should be more that 6 symbols">
</ValidationSettings>
</dx:ASPxTextBox>
</td>
</tr>
<tr>
<td>Confirm new password:</td>
<td>
<dx:ASPxTextBox ID="cnpsw" runat="server" Password="True" ClientInstanceName="cnpsw">
<ClientSideEvents Validation="function(s, e) {e.isValid = (s.GetText() == npsw.GetText());}" />
<ValidationSettings ErrorDisplayMode="ImageWithTooltip" ErrorText="The password is incorrect">
</ValidationSettings>
</dx:ASPxTextBox>
</td>
</tr>
</table>
<dx:ASPxButton ID="confirmButton" runat="server" Text="Ok" AutoPostBack="False" OnClick="confirmButton_Click">
</dx:ASPxButton>
</dx:PopupControlContentControl>
</ContentCollection>
</dx:ASPxPopupControl>
</div>
</form>
</body>
</html>
See Also