Как перегрузить ActionResult в Asp.Net MVC2 - PullRequest
2 голосов
/ 26 июня 2010

У меня проблема с перегрузкой метода ActionResult в MVC2

У меня есть 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? Спасибо.

1 Ответ

2 голосов
/ 26 июня 2010

Краткий ответ, вы не можете перегружать методы только переменными.

Обсуждение в стеке

Если у вас должны быть одинаковые имена методов, вам потребуетсясоздайте атрибут actionfilter и используйте его в качестве перегрузки.

Фрагмент приведенного выше обсуждения:

[RequireRequestValue("someInt")]
public ActionResult MyMethod(int someInt) { /* ... */ }

[RequireRequestValue("someString")]
public ActionResult MyMethod(string someString) { /* ... */ }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...