У меня есть базовый контроллер, который использует пару дженериков, ничего особенного.
public class SystemBaseController<TForm, TFormViewModel> : Controller
where TForm : class, IForm
where TFormViewModel : class, IViewModel
хорошо, ничего страшного. У меня есть метод "CompleteForm", который принимает в viewModel, выглядит примерно так ...
public ActionResult CompleteForm(TFormViewModel viewModel)
{
//does some stuff
return this.RedirectToAction(c => c.FormInfo(viewModel));
}
Проблема в том, что контроллер, который наследует это, вот так
public class SalesFormController : SystemBaseController<SalesForm, SalesViewModel>
{ }
Я получаю сообщение об ошибке от MvcContrib - На этом этапе имя контроллера должно заканчиваться на 'Controller' ...
public RedirectToRouteResult(Expression<Action<T>> expression)
: this(expression, expr => Microsoft.Web.Mvc.Internal.ExpressionHelper.GetRouteValuesFromExpression(expr)) {}
Переданное выражение является правильным (SystemBaseController, бла-бла), но я не уверен, почему его 1.) говорят, что в конце нет контроллера, и 2.) если я вытащу все в контроллер (из базы ), работает просто отлично. Нужно ли мне писать или настраивать какой-то собственный фильтр действий или чего мне не хватает?