111 lines
3.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Learun.Cache.Base;
using Learun.Cache.Factory;
using Learun.Util;
using System.Text;
using System.Web;
using System.Web.Mvc;
namespace Learun.Application.Web
{
/// <summary>
/// 版 本 PIT-ADMS V7.0.3 敏捷开发框架
/// Copyright (c) 2013-2018 Hexagon PPM
/// 创建人:研发部
/// 日 期2017.03.07
/// 描 述对HtmlHelper类进行扩展
/// </summary>
public static class HtmlHelperExtensions
{
private static ICache cache = CacheFactory.CaChe();
/// <summary>
/// 往页面中写入js文件
/// </summary>
/// <param name="htmlHelper">需要扩展对象</param>
/// <param name="jsFiles">文件路径</param>
/// <returns></returns>
public static MvcHtmlString AppendJsFile(this HtmlHelper htmlHelper, params string[] jsFiles)
{
string jsFile = "";
foreach (string file in jsFiles)
{
if (jsFile != "")
{
jsFile += ",";
}
jsFile += file;
}
string jsStr = "";
if (Config.GetValue("JsCompressorCache") == "true")
{
jsStr = cache.Read<string>(jsFile, CacheId.jscss);
}
if (string.IsNullOrEmpty(jsStr))
{
jsStr = JsCssHelper.ReadJSFile(jsFiles);
cache.Write<string>(jsFile, jsStr, CacheId.jscss);
}
StringBuilder content = new StringBuilder();
string jsFormat = "<script>{0}</script>";
content.AppendFormat(jsFormat, jsStr);
return new MvcHtmlString(content.ToString());
}
/// <summary>
/// 往页面中写入css样式
/// </summary>
/// <param name="htmlHelper">需要扩展对象</param>
/// <param name="cssFiles">文件路径</param>
/// <returns></returns>
public static MvcHtmlString AppendCssFile(this HtmlHelper htmlHelper, params string[] cssFiles)
{
string cssFile = "";
foreach (string file in cssFiles)
{
if (cssFile != "")
{
cssFile += ",";
}
cssFile += file;
}
string cssStr = "";
if (Config.GetValue("JsCompressorCache") == "true")
{
cssStr = cache.Read<string>(cssFile, CacheId.jscss);
}
if (string.IsNullOrEmpty(cssStr))
{
var url = HttpContext.Current.Request.ApplicationPath;
cssStr = JsCssHelper.ReadCssFile(cssFiles);
if (url != "/")
{
cssStr = cssStr.Replace("url(", "url(" + url);
}
cache.Write<string>(cssFile, cssStr, CacheId.jscss);
}
StringBuilder content = new StringBuilder();
string cssFormat = "<style>{0}</style>";
content.AppendFormat(cssFormat, cssStr);
return new MvcHtmlString(content.ToString());
}
#region
/// <summary>
/// 设置当前页面地址
/// </summary>
/// <param name="htmlHelper"></param>
/// <returns></returns>
public static MvcHtmlString SetCurrentUrl(this HtmlHelper htmlHelper)
{
string currentUrl = (string)WebHelper.GetHttpItems("currentUrl");
return new MvcHtmlString("<script>var lrCurrentUrl='" + currentUrl + "';var lrModuleButtonList;var lrModuleColumnList;var lrModule;var lrForm</script>");
}
#endregion
}
}