jlamfers/RazorMachine

Specifying different _layout

Closed this issue · 0 comments

I'm trying to load a different layout (not the one in ~/shared/ )

var viewPath = System.Web.HttpContext.Current.Server.MapPath("~/views/users/" + page.Domain + "/" + page.ControllerName + "/index.cshtml");
var LayoutviewPath = System.Web.HttpContext.Current.Server.MapPath("~/views/users/" + page.Domain + "/_layout.cshtml");

var templateHtml = System.IO.File.ReadAllText(viewPath);
var layoutHTML = System.IO.File.ReadAllText(LayoutviewPath);

var rm = new RazorMachine();

rm.RegisterTemplate("~/users/" + page.Domain + "/_layout.cshtml", layoutHTML);
m.RegisterTemplate("~/users/" + page.Domain + "/" + page.ControllerName + "/index.cshtml", templateHtml);
ITemplate template = rm.Execute("~/users/" + page.Domain + "/" + page.ControllerName + "/index.cshtml", page);

return new HtmlString(template.Result);

index

@model dynamic

<h1>@Model.Title</h1>
<a href="@Model.FriendlyUrl">@Model.FriendlyUrl</a>
<div>
   @Model.Content
</div>

layout

<html>
    <head>
        <title></title>
    </head>
    <body>
        @RenderBody()
    </body>
</html>

But it keeps loading the one in the shared folder and not the one i specified. :(

Am i missing something ?