我在MVC2
中遇到ActionResult方法重载问题我有3种方法
public ActionResult MyMethod()
{
var data = ........
//some unfiltered data from db
return view(data);
}
public ActionResult MyMethod(string name)
{
var data = .......
Where xxx.StartsWith(name)
//some filtered data by name
return View(data);
}
public ActionResult MyMethod(int age)
{
var data = .......
Where xxx.Equals(age)
//some filtered data by age
return View(data);
}
如何在Asp.Net MVC2中重载方法? 感谢。
答案 0 :(得分:2)
简短的回答,你不能仅仅通过变量来重载方法。
如果必须具有相同的方法名称,则需要创建actionfilter属性并将其用作过载。
以上讨论的片段:
[RequireRequestValue("someInt")]
public ActionResult MyMethod(int someInt) { /* ... */ }
[RequireRequestValue("someString")]
public ActionResult MyMethod(string someString) { /* ... */ }