如何使用相同的名称和签名覆盖控制器中的操作方法。

时间:2013-11-19 06:07:02

标签: c# asp.net-mvc override

    public ActionResult ListRss(int languageId)
    {
        return View();
    }

    public ActionResult ListRss(int languageId)
    {

        return View() ;
    }

我有这两种方法,在这里我只想用第二种方法覆盖第一种方法。我的目标是保持第一个方法不用于参考,并制作另一个方法。

有可能吗......?

2 个答案:

答案 0 :(得分:0)

您不能在一个类中使用具有相同名称和签名的方法。如果签名相同,则必须重命名其中一个。

如果您不想使用第一种方法,也许您应该将其注释掉并将其作为评论中的参考。

答案 1 :(得分:0)

因为动作的名称与请求参数和路由机制非常紧密地联系在一起......就我所知,你根本无法做很多事情。当然你可以通过哪种类型的请求要进行的区分来区分它们。 ...

[HttpPost]
public ActionResult ListRss(int languageId)
{
    return View();
}

[HttpGet] // or any other http types
public ActionResult ListRss(int languageId)
{

    return View() ;
}

其他更复杂的方法是创建自己的控制器工厂..