2016-05-28 8 views
0

私はMVCアプリケーションを開発しています。サインアップした後、ページにはブートストラップモーダルを使用した確認メッセージが表示されます。セッションがnullでない場合、ビュー上モーダルブロックは、それが表示され、最初のセッション変数をチェックしている:MVCビュー内のセッション変数の制御

@if (Session["signUpName"] != null) 
{ 
    <!-- Modal start --> 
    <script type="text/javascript"> 
    $(window).load(function(){ 
     $('#signUpModal').modal('show'); 
    }); 
    </script> 
    <div class="modal fade" id="signUpModal" role="dialog"> 
     <div class="modal-dialog"> 
      <!-- Modal content--> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data- dismiss="modal">&times;</button> 
        <h4 class="modal-title">Registration Confirmation</h4> 
       </div> 
       <div class="modal-body"> 
        <p>Dear @Session["signUpName"]</p> 
        <p>Thank you ......</p> 
       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data- dismiss="modal">Close</button> 
       </div> 
      </div> 

     </div> 
    </div> 
    <!-- Modal end --> 
} 

私の問題は、私は取り除くことができない、登録後ですモーダルウィンドウ!私は運がないif文の中でnullに等しいセッションを作ろうとしました。

アイデア?

+0

モーダルを閉じてページをリフレッシュした後、セッション変数にまだデータがあるためモーダルウィンドウが再度表示されます –

+0

セッションのみサーバー上に存在します。モーダルはクライアント上にのみ存在します。あなたのモーダルは、サーバー上で評価された値をチェックするだけですが、クライアント上では変更されません。 2つを接続するには、セッション状態から値を返す、サーバー上のアクションメソッドを実行するためにクライアントからのAJAX呼び出しが必要です。 – NightOwl888

答えて

0

セッションを使用しないでください。 MVCの全ポイントは、あなたのビューにモデルを使用することです。 したがって、ビューに必要なデータを保持するモデルクラスを作成します。セッションを使用してMVCから遠く離れたビューでクリアすることを考えてください。これはwebformsや古典的なASPではない、あなたは別の方法で考える必要があります。

したがって、セッション値からモデルを作成できます。セッションをクリアする必要がある場合は、ビューをロードする前にコントローラでセッションをクリアします。可能な限り、あなたの意見を愚かで、できるだけシンプルに保つ。あなたのビューでモデル

public ActionResult SomeAction() 
{ 
    model = new UserModel { Username = Session["someSession"] == null ? "" : Session["someSession"].ToString() } 

return View(model); 
} 

を移入の世話をするコントローラで

public class UserModel { 
    public string Username { get set } 
} 

私はそのようなカミソリやJavascriptを組み合わせることではないでしょう。

var username = '@Model.Username'; 

は今、あなたのJSコードを続行し、あなたが値を持っているかいないかどうかを確認することができます:あなたはJavaScriptであなたはこのような何かを行うことができ、

ので、モデルからJavaScriptの変数に値を割り当てることができます。

+0

ありがとうAndrei、私に例を教えてもらえますか?お返事ありがとうございます –

+0

私は私の最初の答えを変更しました、助けてくれることを願って –

+0

ありがとう。しかし、私は疑問を持っています。あなたは、これのためだけにクラスモデルを作成するのが実際的だと思いますか? –

関連する問題