Implement the Classic MVC Controller
The following article demonstrates how to implement a Classic MVC controller that uses the service you registered. For more information, see Implement the service layer with Ninject.
NOTE: This implementation does not create an MVC widget.
RECOMMENDATION: We do not recommend that you implement just the controller and the view without the associated model.
First, implement the controller:
using SitefinityWebApp.Custom.Services;
using System.Web.Mvc;
namespace SitefinityWebApp.Controllers
{
public class ClassicController : Controller
{
private readonly IHelloSitefinityService service;
public ClassicController(IHelloSitefinityService service)
{
this.service = service;
}
public ActionResult Index()
{
var helloString = this.service.SayHello();
return this.View(nameof(this.Index), helloString);
}
}
}
RECOMMENDATION: To make sure you can easily differentiate between the Classic MVC controllers and widget controllers, we recommend that you place the Classic MVC controllers in the
<root>/Controllersfolder.
Next, implement the view:
@model string
<h3> Result: @Model </h3>
RECOMMENDATION: To make sure you can easily differentiate between the Classic MVC views and widget views, we recommend that you place the Classic MVC views in the
<root>/Views/<ControllerName>folder.
Once you build the project, the controller gets the service as a parameter to its constructor. When you request the domain/classic/<ControllerName>/ route, the controller is executed by the Classic MVC pipeline and returns the corresponding view.