我在多个控制器之间有一个通用的方法,而不是全部。将方法放在控制器库中并且所有其他控制器都继承它是否正确?
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);
}
}