の定義が含まれていません。ユーザーは、私はそうのようなサービスクラスの現在のユーザーIDに文字列の単純な代入をしようとしていますアイデンティティ
Visual Studioは、これで私のプロジェクトで持っているモデルタイプUser
にアクセスしようとしていると考え続けています。
この正確なコード行は別のクラスでは動作しますが、このクラスでは動作しません。その理由はわかりません。
の定義が含まれていません。ユーザーは、私はそうのようなサービスクラスの現在のユーザーIDに文字列の単純な代入をしようとしていますアイデンティティ
Visual Studioは、これで私のプロジェクトで持っているモデルタイプUser
にアクセスしようとしていると考え続けています。
この正確なコード行は別のクラスでは動作しますが、このクラスでは動作しません。その理由はわかりません。
User
は、Controller
クラスのプロパティで、別のクラスからはそれを見ることができません。
あなたはオプションのカップルを持っている:
は、たとえば、あなたの他のクラスに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);
}
あなたはまた、HttpContext
からユーザーを取得することができます。 HttpContext
クラスのクラスはa static method to get the current contextです。たとえば:
var user = HttpContext.Current.User;
ありがとう!私は第2のアプローチを使用した。 – Flashuk100
は、それが万が一 'Controller'を働く他のクラスですか? – DavidG
それは間違いなく – Flashuk100
です。それは明らかにCではありません! – Olaf