是否可以使用2个具有相同名称的控制器方法?
答案 0 :(得分:2)
你指的是控制器方法让我困惑的是你所说的。是C#类方法还是控制器操作?让我回答两个问题。
在C#中不可能有两个具有相同签名的方法。这意味着具有相同类型的相同名称和相同数量的参数。
public int Calculate(int a, int b) { ... }
public int Calculate(int first, int second) { ... } // compiler ERROR
如果您正在谈论Asp.net MVC控制器操作,那当然是可能的。使用ActionName
属性来完成您的需求:
public ActionResult Common() { ... }
[ActionName("Common")]
public ActionResult CommonAgain() { ... } // C# signature differs
但是其中一个必须有一些其他方法选择器属性,以便动作调用者知道在请求进入时使用哪一个......因为它们是404运行时错误。 可能是一个应该是常规请求操作,而另一个应该在Ajax请求进入时执行。或类似。需要一些区别。