1

私の .NET MVC プロジェクトには User というモデルがあり、カミソリ ビュー内にいるときにそのクラスが System.Security.Principal.IPrincipal.WebPageRenderingBase.User と競合しています。(そしてかみそりのビューの中でのみ)。

クラスに別のグローバル エイリアスを与える方法はありますか? できれば、この .NET クラスが表示されないようにしますか?

冗長な解決策は必要ありません。(プレフィックス) この愚かなユーザー プロパティへの参照を削除する方法はありますか?

これは誰にとっても共通の問題ですか、それとも私の設定に何か問題がありますか?

4

5 に答える 5

12

モデル クラスの名前を からUserに変更するだけPersonです。どのソリューションも、コードを不必要に複雑にして肥大化させます。

その他: 99% という名前のクラスを使用してUserいる場合、モデルをビューで使用していることが確実です。ビューに渡す必要があるすべてのデータを収集する ViewModel を使用するのが最善の方法です。したがって、ビューでは、User はこの ViewModel の 1 つのプロパティになります。

このアプローチは、ViewBags などの使用を根絶するのにも役立ちます...

于 2013-06-25T02:50:38.080 に答える
4

クラスを完全に修飾します。

MyNamespace.Core.User

ただではなく

User

私は少し混乱していますが、なぜなら

System.Security.Principal.IPrincipal.WebPageRenderingBase.User

IPrincipalと呼ばれる型ではない型のプロパティですUser

于 2013-02-22T21:25:31.643 に答える