2017-03-25 10 views
0

の定義が含まれていません。ユーザーは、私はそうのようなサービスクラスの現在のユーザーIDに文字列の単純な代入をしようとしていますアイデンティティ

Visual Studioは、これで私のプロジェクトで持っているモデルタイプUserにアクセスしようとしていると考え続けています。

この正確なコード行は別のクラスでは動作しますが、このクラスでは動作しません。その理由はわかりません。

+0

は、それが万が一 'Controller'を働く他のクラスですか? – DavidG

+0

それは間違いなく – Flashuk100

+0

です。それは明らかにCではありません! – Olaf

答えて

1

Userは、Controllerクラスのプロパティで、別のクラスからはそれを見ることができません。

あなたはオプションのカップルを持っている:

  1. は、たとえば、あなたの他のクラスにUser値を渡します。

    public class MyClass 
    { 
        public void SomeMethod(System.Security.Principal.IPrincipal user) 
        { 
         //do something with 'user' 
        } 
    } 
    
    public ActionResult SomeAction() 
    { 
        var myClass = new MyClass(); 
        myClass.SomeMethod(User); 
    } 
    
  2. あなたはまた、HttpContextからユーザーを取得することができます。 HttpContextクラスのクラスはa static method to get the current contextです。たとえば:

    var user = HttpContext.Current.User; 
    
+0

ありがとう!私は第2のアプローチを使用した。 – Flashuk100

関連する問題