WebViewPageExtensions.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Web.Mvc;
  2. using System.IO;
  3. using System.Text;
  4. using System.Web;
  5. using BuildOurOwnBabylonJSServer.Controllers;
  6. using System;
  7. namespace BuildOurOwnBabylonJSServer.Extensions
  8. {
  9. public static class WebViewPageExtensions
  10. {
  11. public static string BabylonJSFile(this WebViewPage page,
  12. string relPathToBabylonJSFolder)
  13. {
  14. if (page == null)
  15. return null;
  16. // relPath must be the last one so filename must be appended to it
  17. var url = page.Url.Action(BuildOurOwnBabylonJSController.GetFileContentActionName,
  18. "BuildOurOwnBabylonJS",
  19. new { rootPath = page.ViewBag.BabylonJSFolder, relPath = relPathToBabylonJSFolder },
  20. page.Request.Url.Scheme);
  21. return url;
  22. }
  23. public static IHtmlString BabylonJSScript(this WebViewPage page,
  24. string relPathToBabylonJSFolder)
  25. {
  26. if (page == null)
  27. return null;
  28. var type = "text/javascript";
  29. var src = page.BabylonJSFile(relPathToBabylonJSFolder);
  30. var script = new TagBuilder("script");
  31. script.Attributes.Add("src", src);
  32. script.Attributes.Add("type", type);
  33. return page.Html.Raw(script.ToString(TagRenderMode.Normal));
  34. }
  35. }
  36. }