May 4, 2012 at 3:09 PM
Edited May 4, 2012 at 3:13 PM
|
For the record, marking it abstract was the solution. I know that... my bad eyes didn't catch the other guys code. Here is my example anyway.
public partial class BaseController : Controller
{
public BaseController()
: base()
{
}
[HttpGet]
public virtual new ActionResult Request()
{
//do something here
}
}
public partial class DemoController : BaseController
{
[HttpGet]
public virtual ActionResult JQueryUIComponents()
{
return View("~/Views/Demos/JQueryUIComponents.cshtml");
}
}
so what happens in the generated classes is this ... the BaseController gets generated along with the usual methods that get added to the generated classes... but they also get added to the child DemoController... I mean I'm sure you see the issue you are totally correct and I should have seen that a mile off. It seems that a lot of "web" programmers think they are also OOP.
public partial class BaseController {
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected BaseController(Dummy d) { }
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected RedirectToRouteResult RedirectToAction(ActionResult result) {
var callInfo = result.GetT4MVCResult();
return RedirectToRoute(callInfo.RouteValueDictionary);
}
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected RedirectToRouteResult RedirectToActionPermanent(ActionResult result) {
var callInfo = result.GetT4MVCResult();
return RedirectToRoutePermanent(callInfo.RouteValueDictionary);
}
}
public partial class DemoController {
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public DemoController() { }
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected DemoController(Dummy d) { }
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected RedirectToRouteResult RedirectToAction(ActionResult result) {
var callInfo = result.GetT4MVCResult();
return RedirectToRoute(callInfo.RouteValueDictionary);
}
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected RedirectToRouteResult RedirectToActionPermanent(ActionResult result) {
var callInfo = result.GetT4MVCResult();
return RedirectToRoutePermanent(callInfo.RouteValueDictionary);
}
}
|