私はasp.net MVCフレームワークを使用しています。私のアプリケーションでは、ユーザーはログインしなければなりません。そして、ユーザー名とパスワードの組み合わせが正しい場合、メニュー付きのdiv(またはpanel?)が表示されなければなりません。しかし、私はこれをどのようにすることができますか?私のパネルpnlMenuの名前は、私のコントローラでは何かできません:C#MVCのGUIを処理する
pnlMenu.visible = true;
どうすればいいですか?
私はasp.net MVCフレームワークを使用しています。私のアプリケーションでは、ユーザーはログインしなければなりません。そして、ユーザー名とパスワードの組み合わせが正しい場合、メニュー付きのdiv(またはpanel?)が表示されなければなりません。しかし、私はこれをどのようにすることができますか?私のパネルpnlMenuの名前は、私のコントローラでは何かできません:C#MVCのGUIを処理する
pnlMenu.visible = true;
どうすればいいですか?
あなたは何をすべきは、ユーザーがログインしてこのようなViewDataをに値を設定されているかどうかを確認するために、あなたのコントローラのチェックであります:
次に、この値に基づいてメソッドの可視性を設定できます。この方法で後でビューを変更したり、複数のビューを持つことに決めた場合は、それぞれがこの値を使用することができ、ビューとコントローラーの間に結合がありません。
適切なコントロールを表示または非表示にできるビューまたはプロパティを作成しますか?
あなたのコントローラでは、ビューのプロパティまたはメソッドにアクセスできますか?
MVCのアイデアの1つはUIを別の実装(web/win/...)で置き換えることができるため、コントローラのビューで特定の「コントロール」を参照したくないということです。同じコントローラとアプリケーションロジックを使用します。 次に、ビューがサポートしなければならない操作を記述したいだけなので、Viewがサポートしなければならない 'コントラクト'を記述するインタフェースで、 'ChangeState(bool loggedIn)'メソッドを作成する必要があります。コントローラで
ユーザーがログインしたときに、このメソッドを呼び出すことができますが。
ビューでプロパティを作成するにはどうすればよいですか?ビューはコードビハインドファイルがないaspxです。 – Martijn
"...だから、あなたのViewがサポートしなければならない '契約'を記述するインタフェースでは、「この部分は理解できません。これをどこで行う必要がありますか? – Martijn
コントローラからビューのメソッドまたはプロパティに直接アクセスしたくない場合。 –