Zone de texte utilisant le mot de passe textmode ne montrant pas le texte asp.net c #
J'ai quelques boutons sur un formulaire web, et lorsque l'utilisateur clique sur eux, ils vont mettre à jour la zone de texte. Cela a fonctionné jusqu'j'ai ajouté la textmode = mot de passe. Maintenant la zone de texte n'affiche pas le texte plus. Je déboguer l'application et le texte de la propriété est l'obtention de la valeur, mais encore une fois c'est pas à l'affiche.
Voici ce que j'ai essayé:
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;
}
J'ai aussi fatigué ce:
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;
}
source d'informationauteur nate | 2013-05-24
Vous devez vous connecter pour publier un commentaire.
Comment désespérée êtes-vous?
Si vous n'êtes pas assez désespéré pour tout essayer, rien à faire fonctionner, ne pas les lire sur. Ce ne sera pas agréable. OK? OK.
L'astuce est de faire de la web app pense que ce n'est pas une zone mot de passe. En d'autres termes, n'utilisez pas de
TextMode="password"
.Puis dans
Page_Load
, mettretxt_punch.Attributes["type"] = "password"
Que c'est. Le navigateur vous le savez, c'est un champ de mot de passe (et de montrer des astérisques ou des points), mais le serveur ne sais pas, donc ça va envoyer du contenu, le client, comme il s'agissait de texte brut. Bien sûr, cela permettra également de mettre le mot de passe dans le code source de la page...
Lorsque vous définissez la TextMode propriété d'une zone de texte Mot de passe, le comportement par défaut est de ne pas afficher la valeur de la propriété Text.
C'est pour éviter d'démasqué les mots de passe dans la source HTML de la page.
Une solution est d'utiliser un attribut de tenir la valeur du mot de passe:
Source
Basé sur option un de Kola de réponse, vous pouvez essayer ceci:
C'est un asp.net BUG!! L'e-mail de validation de l'algorithme est très stricte, ce qui entraîne l'exclusion de certains e-mails valides. Si vous passez la TextMode de "Mot de passe" tp "SingleLine", votre code fonctionne.
nous ne pouvons pas attribuer directement des valeurs de mot de passe de la zone de texte.
pour affecter des valeurs à la zone de texte mot de passe qui doit nous servir de zone de texte attributs
Mot de passe ne sont généralement pas destinés à MONTRER, mais si vous avez l'intention de le faire cette page peut vous aider à Solution