2013-05-24 13 views
14

Webフォームにいくつかのボタンがあり、ユーザーがクリックするとテキストボックスが更新されます。これは、textmode = passwordを追加するまで機能しました。今度はテキストボックスにテキストが表示されなくなりました。私はアプリをデバッグし、テキストプロパティは値を取得していますが、もう一度表示されません。ここでテキストモードのテキストボックスにテキストが表示されないasp.net c#

は、私が試したものです:

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; 

    } 

私もこの疲れがあります:あなたはパスワードのTextBoxのテキストモードプロパティを設定すると

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; 

    } 
+0

パスワードフィールドにテキストを表示しないでください。あなたがテキストを強制すると、誰でもあなたのサイトのHTMLを見てパスワードを得ることができます。 –

+0

@ bastos.sergioどのくらい大きな問題ですか? HTMLはどこにも保存されません。パスワードを入力する人が提出する直前にページをディスクに保存しない限り。 –

+0

これを保存する必要はありません。サイトのどこでも右クリックして、「ソースコードを表示」オプションを選択してください。それはあなたがhtmlを見るために必要なすべてです... –

答えて

48

あなたはどんなに絶望的ですか?

あなたが何かを試してみるのに必死でないなら、それを働かせるために何かを読んではいけません。これはいいことではありません。 OK? OK。

これは、ウェブアプリケーションがパスワードボックスではないと思うようにすることです。つまり、TextMode="password"は使用しないでください。
Page_Loadには、txt_punch.Attributes["type"] = "password"

です。ブラウザはパスワードフィールド(およびアスタリスクまたはドットを表示)を知っていますが、サーバー側はわからないため、プレーンテキストのようにクライアントにコンテンツを送信します。もちろん、これはまた、あなたがこの試すことができ

+0

私はそれが必死であることを確信していません。私は質問を投稿する前に、これについて考えました。私は本当にコードの背後にある、またはセキュリティとは何かをしたいと思った。しかし、他のすべてが失敗した場合。あなたbtwを入力していただきありがとうございます。 – nate

+0

絶対に簡単ですが、これを見た後に:) –

+0

これは、特にテキストが変更されたかどうかを確認する必要がある場合には、このような優れたソリューションです。 "TextBox.Attributes.Add(" value "、" yourPassword ");" onTextChangedイベントを発生させます。すばらしいです。 – djfranzwa

12

デフォルトの動作は、それがないのですがTextプロパティの値を表示します。

マスクされていないパスワードがページのHTMLソースに表示されないようにするためです。

一つの解決策は、パスワード値を保持するために属性を使用することです:

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

Source

+1

私はすでにそれを試みました、私の2番目のコードのポストを見てください。 – nate

+0

@nate - それを逃した、申し訳ありません。他に何を提案するか分からない。 – ChrisF

+0

NP、お試しいただきありがとうございます。 – nate

-1

パスワード、一般的に表示するように意図されていないが、あなたが行うことを意図しているのであれば、このページはあなたを助けるかもしれませんSolution

+7

リンクのみの回答は良い答えではありません。答えの要点をここに含めることができますか? – ChrisF

0

はコラの答えの選択肢1をオフに基づいて...ページのソースにパスワードを入れます。これは、asp.netのバグです

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

を!電子メールの検証アルゴリズムは非常に厳密で、有効な電子メールを除外します。 TextModeを "Password" tp "SingleLine"から切り替えると、コードが機能します。

0

パスワードのテキストボックスに値を直接割り当てることはできません。 テキストボックスのパスワードに値を割り当てるには

Textbox1.Attributes.Add("value",variable/"string"); 
関連する問題