Вы не можете перегрузить действия таким образом, как обнаружили.
Единственный способ иметь несколько действий с одним и тем же именем, если они отвечают на разные глаголы.
Я бы сказал, что наличие единого метода, который обрабатывает обе ситуации, является более чистым решением и позволяет вам инкапсулировать свою логику в одном месте и не полагаться на знание нескольких методов с одинаковым именем, которые используются для разных целей. - Конечно, это субъективно и только мое мнение.
Если вы действительно хотели иметь отдельные методы, вы могли бы назвать их по-разному, чтобы они четко указывали их разные цели. e.g.:
public ActionResult GetAll()
{
return PartialView(/*return all things*/);
}
public ActionResult Get(int id)
{
return PartialView(/*return 1 thing*/);
}