0

MVC の強く型付けされたビューにActionResult、モデルを渡したコントローラーを見つける方法はありますか? この段階でモデルに余分なフィールドを追加したり、クエリ文字列に何かを追加したりしたくありませんか? それは可能ですか?申し訳ありませんが、これは初歩的な質問かもしれません。どんな助けでも大歓迎です。

4

3 に答える 3

3

MVC アーキテクチャの原則の検証についてつぶやくのは気にしないでください ;)

このコードをビューに配置します。

string action = @ViewContext.Controller.ValueProvider.GetValue("action").RawValue.ToString();
于 2013-06-28T17:48:06.497 に答える
3

ビューでは、コンテキストにアクセスできます。次に、次のように現在のリクエストからアクション/コントローラーを取得できます。

@{
    string controller = RequestContext.RouteData.Values["controller"].ToString();
    string action = RequestContext.RouteData.Values["action"].ToString();
}

次に、ビューでそれを使用して条件を作成できます

@if(action.Equals("some name"))
{
    //Do stuff here
}
于 2013-06-28T17:48:34.593 に答える
1

アクションはビューに通知する必要があります。モデルにフィールドを追加する代わりに、ViewModel でラップできます。

public class MyViewModel 
{
    public MyModel InnerModel {get; set; }
    public string ActionName {get; set; }
}

または ViewBag を使用します。

ViewBag.ActionName = "MyActionName";
于 2013-06-28T17:48:08.137 に答える