У меня есть общий метод для нескольких контроллеров, а не для всех. Правильно ли положить метод в базу контроллера, и все остальные контроллеры наследуют его?Общий метод между несколькими контроллерами
public class BaseController : Controller
{
public IEnumerable<SelectListItem> GetStatus()
{
IList<SelectListItem> status = new List<SelectListItem>();
status.Add(new SelectListItem() { Text = "Select", Value = "" });
Enum.GetValues(typeof(Status)).Cast<Status>().ToList().Select(x => new SelectListItem()
{
Text = x.ToString(),
Value = ((byte)x).ToString()
}).ToList().ForEach(status.Add);
return status;
}
}
public class DownloadController : BaseController
{
public ActionResult New()
{
NewViewModel newViewModel = new NewViewModel();
newViewModel.Status = GetStatus();
return View(newViewModel);
}
}
Если у вас есть общие действия ActionResults, я бы сказал, что делать это в базовом классе нормально. Если вы хотите разделить свойство или объект, как список статусов, поместите его в класс Common и выберите его таким образом. –
Да, я тоже. Это может зависеть от того, что вы делаете с этим. – tugberk