14
MVC3でビューを返すアクションの名前を取得する正しい方法は何ですか?ビュー内でコントローラのアクション名を取得
私はViewContext.Controller.ValueProvider.GetValue("action").RawValue
を使用して、MVC3でビューを作成しているアクション(メソッド)の名前を返します。これは、アクションによって返されたビューに含まれるパーシャルビューで返します。
インデックスには問題ありませんが、別のメソッド名に使用しようとすると、常にfalseに評価されます。イミディエイトウィンドウで
私は、次のような結果を得る: 「編集」を返しますが、文字列にこれを比較しながら最初の文は、値「編集」との文字列に評価されるので、非常に混乱してViewContext.Controller.ValueProvider.GetValue("action").RawValue
"Edit"
ViewContext.Controller.ValueProvider.GetValue("action").RawValue == "Edit"
false
偽ですか?奇妙
...
おかげで、これはオブジェクト参照が非静的フィールド、メソッド、またはプロパティ「System.Web.Routing.RequestContextのために必要とされる 'RequestContext.RouteData.GetRequiredString(「アクション」)を返します。 RouteData.get ' ' – Darbio
私は' ViewContext'を意味しました。 – SLaks
ありがとう - それは動作します。 – Darbio