private string RunEngine(MiniMvc.Engine engine, string controllerName, string actionName, Dictionary <string, object> parameters) { var output = new System.IO.StringWriter(); engine.ProcessRequest(controllerName, actionName, parameters ?? new Dictionary <string, object>(), output); return(output.ToString()); }
static void Main(string[] args) { var engine = new MiniMvc.Engine(); var output = new System.IO.StringWriter(); engine.ProcessRequest("Demo", "Index", new Dictionary<string, object> { { "One", 1 }, { "Two", 2 } }, output); Console.WriteLine(output.ToString()); Console.ReadKey(); }
static void Main(string[] args) { var engine = new MiniMvc.Engine(); var output = new System.IO.StringWriter(); engine.ProcessRequest("Demo", "Index", new Dictionary <string, object> { { "One", 1 }, { "Two", 2 } }, output); Console.WriteLine(output.ToString()); Console.ReadKey(); }
public void ViewStart() { var engine = new MiniMvc.Engine(); var controllers = new DelegateControllerFactory(); controllers.AddController("ctrl", () => new SimpleController()); engine.ControllerFactory = controllers; var views = new StringViewLoader(); views.AddView("ctrl/Index", "Hello @ViewBag.Name"); views.AddView("_ViewStart", "Starting @ViewBag.Name"); engine.ViewLoader = views; Assert.AreEqual("Starting IndexHello Index", RunEngine(engine, "ctrl", "Index", null)); }
public void Sections() { var engine = new MiniMvc.Engine(); var controllers = new DelegateControllerFactory(); controllers.AddController("ctrl", () => new SimpleController()); engine.ControllerFactory = controllers; var views = new StringViewLoader(); views.AddView("ctrl/Index", "@{ Layout = \"~/Views/Shared/_Layout\"; } @section Second { A } Hello @ViewBag.Name"); views.AddView("~/Views/Shared/_Layout", "[[ @RenderBody() @RenderSection(\"Second\") ]]"); engine.ViewLoader = views; Assert.AreEqual("[[ Hello Index A ]]", RunEngine(engine, "ctrl", "Index", null)); }
public void Partial() { var engine = new MiniMvc.Engine(); var controllers = new DelegateControllerFactory(); controllers.AddController("ctrl", () => new SimpleController()); engine.ControllerFactory = controllers; var views = new StringViewLoader(); views.AddView("ctrl/Index", "Hello @RenderPartial(\"~/Shared/Partial\")"); views.AddView("~/Shared/Partial", "Partial @ViewBag.Name"); engine.ViewLoader = views; Assert.AreEqual("Hello Partial Index", RunEngine(engine, "ctrl", "Index", null)); }
public void Sections() { var engine = new MiniMvc.Engine(); var controllers = new DelegateControllerFactory(); controllers.AddController("ctrl", () => new SimpleController()); engine.ControllerFactory = controllers; var views = new StringViewLoader(); views.AddView("ctrl/Index", "@{ Layout = \"~/Views/Shared/_Layout\"; } @section Second { A } Hello @ViewBag.Name"); views.AddView("~/Views/Shared/_Layout", "[[ @RenderBody() @RenderSection(\"Second\") ]]"); engine.ViewLoader = views; Assert.AreEqual("[[ Hello Index A ]]", RunEngine(engine, "ctrl", "Index", null)); }
public void Partial() { var engine = new MiniMvc.Engine(); var controllers = new DelegateControllerFactory(); controllers.AddController("ctrl", () => new SimpleController()); engine.ControllerFactory = controllers; var views = new StringViewLoader(); views.AddView("ctrl/Index", "Hello @RenderPartial(\"~/Shared/Partial\")"); views.AddView("~/Shared/Partial", "Partial @ViewBag.Name"); engine.ViewLoader = views; Assert.AreEqual("Hello Partial Index", RunEngine(engine, "ctrl", "Index", null)); }
public void ViewStart() { var engine = new MiniMvc.Engine(); var controllers = new DelegateControllerFactory(); controllers.AddController("ctrl", () => new SimpleController()); engine.ControllerFactory = controllers; var views = new StringViewLoader(); views.AddView("ctrl/Index", "Hello @ViewBag.Name"); views.AddView("_ViewStart", "Starting @ViewBag.Name"); engine.ViewLoader = views; Assert.AreEqual("Starting IndexHello Index", RunEngine(engine, "ctrl", "Index", null)); }