2017-01-03 2 views
1

マスターページを継承した登録およびログインページを持つサイトで作業しています。このジョブでは、新規ユーザーが登録しようとしたときにデータベースにeMailがすでに存在するかどうかを確認するようにアプリケーションに要求します。eMailが存在する場合はログインページにリダイレクトされ、ログインページのラベルにメッセージが表示されます。FindControlを使用して別のページのコントロールを検索する

私のチェックコードが機能しています。 しかし、私の問題は、ログインページでラベルコントロールを見つけることができないということです。私は助けてください。以下 は、登録ページに私のコードです:

それはLoginページをロードするようResponse.Redirect後のコードが実行されませんので、ログインaspxページ上のラベルのIDが、私はこれはワークアウトではないだろうと思いeMailExist

if (dt.Rows.Count > 0) 
{ 
    Response.Redirect("~/Login.aspx"); 
    Label Exist = (Label)Master.FindControl("eMailExist"); 
    Exist.Text = "eMail already in use, try Loging in"; 
} 
+0

のページのロード中に以下を追加する必要があります。 –

+0

'Response.Redirect'の後のコードは実行されません。これを解決するための素晴らしい提案を投稿しました。ご覧ください。 –

答えて

0

です

リダイレクトは次のようになります:

ログインページのラベルを更新するために、いくつかのクエリ文字列パラメータを使用するために、私は素敵なアイデアを持っている。しかし、このようなものになります

そして、あなたはあなたが雪村、のQueryStringにあなたの状態を保存...と、ログインページにラベルを設定する必要がありlogin.aspx.cs

if (!IsPostBack) 
{ 
    string messageCode = Request.QueryString["MsgCode"]; 
    if (!string.IsNullOrEmpty(messageCode)) 
    { 
     switch (messageCode) 
     { 
      case "1" : 
       lbleMailExist.Text = "eMail already in use, try Loging in"; 
       break; 
      case "2" : 
       lbleMailExist.Text = "Operation time-out, try Loging in"; 
       break; 
       // populate conditions 
      default: 
       break; 
     } 
    } 
} 
+0

あなたのコードを使用しました。ビッグ感謝 –

+0

それが助けてくれたことをうれしく思います。あなたはそれを[承諾](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)としてマークすることを忘れないことを願っています。 –

関連する問題