1

私は次の ActionResults を持っており、1 つは FormCollection をパラメーターとして受け入れるもう 1 つのオーバーライドであることを意図しています。

   [HttpPost]
    public ActionResult PartialAverageDisplay()
    {
        HomeModel C = new HomeModel();
        ChViewModel D = new ChViewModel();
        D = C.AverageCalculation();

        return PartialView(D);
    }
   [HttpPost]
    public ActionResult PartialAverageDisplay(FormCollection myFcollection)
    {
         HomeModel C = new HomeModel();
         System.Data.DataTable myDT = new System.Data.DataTable();
         myDT = (DataTable)Session["DT"];
         ChViewModel D = new ChViewModel();
         D = C.AverageCalculation(myDT, myFcollection);

            return PartialView(D);
        }

FormCollection を要求するために actionfilter 属性を作成する方法の例をオンラインで見つけることができませんでした。私が見たものはすべて、文字列の配列を使用しています。アクションフィルターの作成経験がありません。誰かがこれにアプローチする方法を私に説明できますか?

ありがとう

4

1 に答える 1

1

MVC では、同じアクション動詞 (Post、get など) で同じメソッドをオーバーライドすることはできません。メソッド名ごとに 1 つの HttpPost のみを持つことができます。コンパイルはできますが、実行時に Ambiguous call エラーが発生します。

これには、問題を回避するために複数の ActionName を使用することも含まれます。問題は、URL がそのタイプの単一のアクションにしかマップできないことです。

于 2013-04-11T19:59:02.210 に答える