ASP.NET MVC NonActionの意味 質問する

ASP.NET MVC NonActionの意味 質問する

なぜ属性を使用する必要があるのか​​教えてくださいNonAction。たとえば、Update、Delete、Insert など、複数の送信値を持つフォームがあるとします。すべての送信ボタンに共通のフォームがあるため、コントローラー内で送信値を切り替えて、それに応じて動作します。

このような:

public ActionResult asd(string submitButton){
     switch(submitButton){
         case "Insert":
             return Insert();
         // bla bla bla
     }
}

[NonAction]
public ActionResult Insert(){
    // some code inside here
    return View();
}

もう一度言いますが、なぜ次のようなものではなく NonAction を使用する必要があるのでしょうか。

public void Insert(){
    // some code inside here
}

ベストアンサー1

属性を省略することもできますNonActionが、その場合でもメソッドはアクション メソッドとして呼び出すことができます。

MSDNサイトより(参照):

デフォルトでは、MVC フレームワークはコントローラー クラスのすべてのパブリック メソッドをアクション メソッドとして扱います。コントローラー クラスにパブリック メソッドが含まれており、それをアクション メソッドにしたくない場合は、そのメソッドを NonActionAttribute 属性でマークする必要があります。

おすすめ記事