Razorを使用して画面に変数を印刷したいとします。 CustomPrincipalという名前のクラスが正しく保存されているHttpContextに保存されています。私はそれが、残念ながら動作していない以下の例のように1行にそれを持ってしたいRazor(C#)を使用して画面に変数を印刷する
:それはのHttpContextにそれを正しく保存されて
@* This is not working... *@
@(CustomPrincipal)Context.Items["IUser"].Name
以下の例は、しかし働いています。
@{ CustomPrincipal user = (CustomPrincipal)Context.Items["IUser"]; }
@user.Name
最初の例が機能していない理由を知っている人はいますか?
エラーは次のとおりです。
コンパイラエラーメッセージ:CS0118: 'CustomPrincipalは' 'タイプ' ですが、 '変数' のように使用され
あなたが「動作しない」とはどういう意味ですか?エラーメッセージがありますか?何も表示されませんか? – DavidG
[尋ねる]を読んで、「働いていない」ことを詳述し、あなたの研究を分かち合う。これは括弧の問題です。文字列 'Name'を' CustomPrincipal'にキャストできません。 – CodeCaster
'CustomPrincipal'オブジェクトを括弧で囲む必要があるかもしれません。そうしないと、' @((CustomPrincipal)Context.Items ["IUser"])。)) ' – DavidG