public static void RegisterPagelet(this HtmlHelper helper, Pagelet pagelet)
{
var context = helper.ViewContext.HttpContext;
bool jsEnabled = context.Request.Cookies["js"] != null && context.Request.Cookies["js"].Value == "true";
if (!jsEnabled)
{
//JavaScript is not enabled, so we write the execution to the output and
//not register the pagelet
if (pagelet.Data.Css != null)
foreach (string css in pagelet.Data.Css)
helper.IncludeCss(css);
pagelet.Execute();
context.Response.Write(string.Format("<div id=\"{0}\">{1}</div>", pagelet.Container, pagelet.Data.Content));
context.Response.Flush();
return;
}
List<Pagelet> pagelets = (List<Pagelet>)context.Items["Pagelets"];
if (pagelets == null)
{
pagelets = new List<Pagelet>();
context.Items["Pagelets"] = pagelets;
}
pagelets.Add(pagelet);
//write pagelet container
context.Response.Write("<div id=\"" + pagelet.Container + "\"></div>");
}