2016-05-31 8 views
0

パスワードの値をLabelにキャプチャしようとしています。ページの読み込み時のラベルの変更

private void GenRandomNumber() 
{ 
    Random generator = new Random(); 
    String r = generator.Next(0, 10000).ToString("D4"); 
    lblStart.Text = r; 
} 

//Generate Random Letter 
static class RandomLetter 
{ 
    static Random _random = new Random(); 
    public static char GetLetter() 
    { 
     // This method returns a random lowercase letter. 
     // ... Between 'a' and 'z' inclusize. 
     int num = _random.Next(0, 26); // Zero to 25 
     char let = (char)('a' + num); 
     return let; 
    } 
} 

マイページのロード

4桁の文字1小文字は

これは数字とNUM

public void SaveTransactionID() 
{ 
    string password = lblStart.Text + lblStop.Text; 
    lblPassword.Text = password; 
} 

発電機の両方を追加するための私の方法であり、

protected void Page_Load(object sender, EventArgs e) 
{ 
    char lowerCase; 
    lowerCase = Convert.ToChar(RandomLetter.GetLetter()); 
    lblStop.Text = lowerCase.ToString(); 
    GenRandomNumber(); 
} 

パスワードがページの読み込みごとに変わることは知っています。だから私はLabelに保存しようとしたので、ページが再び読み込まれた場合に備えてパスワードを取得することができました。しかし、ものは私のSaveTransactonId()もページの読み込み中に変更されます。ページの読み込み時にもパスワードの値を保存するにはどうすればよいですか?

+3

if(IsPostBack){}これはあなたの問題を解決します:) –

+0

[値/テキストがサーバー側で変更された後にテキストボックスからテキスト/値を取得する]の重複可能性があります(http://stackoverflow.com/questions/34544500/get-text-value-from-value-text-changed-server-side) –

+0

@ManishGoswami仕事をしました –

答えて

2

はここに例を示します

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      char lowerCase; 
      lowerCase = Convert.ToChar(RandomLetter.GetLetter()); 
      lblStop.Text = lowerCase.ToString(); 

      GenRandomNumber(); 
     } 
    } 

これはあなたの問題を解決します。

EDIT:

はここ際IsPostBack =真または偽の条件が発生するもののshort explanationです。コードを開発してデバッグするための単一のコンピュータの場合、「クライアント」はブラウザ、「サーバ」はコンピュータです。 (リンク先の記事では、問題は「IsPostBackプロパティは何ですか?」ではありません正しい質問は、より良い、より複雑な図があり、「ポストバックは何?」;私はそれを見つけることができませんが、これはやります。)

PostBackは、処理するためにASP.NETページをサーバーに送信するプロセスに与えられた名前です。 PostBackは、(例えば)データベースのユーザー名とパスワードの確認など、一部のソースに対してページの特定の資格情報をチェックする場合に実行されます。これは、クライアントが単独では達成できないものです。したがって、これらの詳細は、ユーザーとのやり取りを介してサーバーに「ポストバック」する必要があります。

ポストバックは、クライアント(ブラウザ)からサーバーへの往復であり、次にクライアントに戻ります。これにより、サーバー上のaspエンジンと、更新される動的コンテンツをページが通過できるようになります。ポストバックの質問へのより詳細な回答については

see here。ここで

は、ポストバックを伴うそのうちのいくつかはASP.NET(WEB-)ページのライフサイクルの概要のdescription、です。

+0

この回答は技術的に正しいものですが、提案されたコード。 – CoolBots

+0

優秀な説明! +1!ありがとうございました! – CoolBots

0

変数をSession変数に格納できます。最初のページの読み込み時にPage_Loadで実行される内容と、それに続くページの再読み込み(セッションあたり)をPage.IsPostBackプロパティで制御することもできます。

1

if(!Page.IsPostBack){//ここにロジックを入れてください。}

あなたはSession ["sessionKey"] = valueに値を保存できます。 (!セッション[ "SESSIONKEY"] = null)の場合

、あなたがセッションをチェックして、それを取得することができますが

nullではありません。

lblPassword.Text = Session ["sessionKey"];

関連する問題