2013-04-11 38 views
1

我有以下ActionResults和一个是为了接受FormCollection作为参数的另一个重写。C#MVC4 ActionResult ActionFilter FormCollection

[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属性找到一个例子。我见过的所有东西都使用了一串字符串。我没有经验创建actionfilters。任何人都可以向我解释如何解决这个问题?

感谢

回答

1

MVC不允许你有相同的动作动词相同方法的重写(邮政,获取等)。每个方法名称只能有一个HttpPost。它会进行编译,但是在运行时您会看到模糊的调用错误。

这还包括让多个ActionName试图解决问题。问题是该URL只能映射到该类型的单个操作。

+0

actionresult返回包含填充数据表的partialview。在主视图页面上,该数据表应该首次加载硬编码值。当我的表单集合中包含的复选框被点击时,jquery函数应该发布到其他actionresult以便重新呈现partialview并用不同的结果填充数据表。我还能通过其他方式实现这一目标? – HendPro12 2013-04-11 20:03:52

+0

@ HendPro12 - 你为什么不改变名字? – 2013-04-11 21:02:13