mvc扩展

来源:互联网 发布:天谕捏脸数据男魔王 编辑:程序博客网 时间:2024/06/05 20:43


        /// <summary>
        /// 添加js引用
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="path">相对路径 应用程序根目录 /js/main.js</param>
        /// <returns></returns>
        public static MvcHtmlString RenderJs(this HtmlHelper helper, params string[] paths)
        {
            
            StringBuilder builder = new StringBuilder();
            if (paths != null)
            {
                string wrapper = @"<script src='{0}' type='text/javascript'></script>";
                foreach (var item in paths)
                {
                    if (string.IsNullOrEmpty(item))
                    {
                        continue;
                    }
                    var relativePath = string.Concat(CommonHelp.Catalog, item);
                    relativePath = string.Concat(relativePath, "?_t=", GetLastAccessTime(relativePath));
                    builder.Append(string.Format(wrapper, relativePath));
                }
            }
            return new MvcHtmlString(builder.ToString());
        }




        /// <summary>
        /// 添加指定目录下js引用
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="catalog">相对目录</param>
        /// <param name="files">完整文件名 main.js</param>
        /// <returns></returns>
        public static MvcHtmlString RenderCatalogJs(this HtmlHelper helper, string catalog, params string[] files)
        {
            if (files != null)
            {
                var paths = files.Select(e => string.Concat(catalog, "/", e)).ToArray();
                return RenderJs(helper, paths);


            }
            return new MvcHtmlString(string.Empty);
        }




        /// <summary>
        /// 添加css引用
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="path">相对路径 应用程序根目录 /css/main.css</param>
        /// <returns></returns>
        public static MvcHtmlString RenderCss(this HtmlHelper helper, params string[] path)
        {
            StringBuilder builder = new StringBuilder();
            if (path != null)
            {
                string wrapper = @"<link href='{0}' rel='stylesheet' type='text/css' />";
                foreach (var item in path)
                {
                    if (string.IsNullOrEmpty(item))
                    {
                        continue;
                    }
                    var relativePath = string.Concat(CommonHelp.Catalog, item);
                    relativePath = string.Concat(relativePath, "?_t=", GetLastAccessTime(relativePath));
                    builder.Append(string.Format(wrapper, relativePath));
                }
            }
            return new MvcHtmlString(builder.ToString());
        }




        /// <summary>
        /// 添加指定目录下css引用
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="catalog">相对目录</param>
        /// <param name="files">完整文件名 main.css</param>
        /// <returns></returns>
        public static MvcHtmlString RenderCatalogCss(this HtmlHelper helper, string catalog, params string[] files)
        {
            if (files != null)
            {
                var paths = files.Select(e => string.Concat(catalog, "/", e)).ToArray();
                return RenderCss(helper, paths);
            }
            return new MvcHtmlString(string.Empty);
        }




        /// <summary>
        /// 获取文件最新写时间
        /// </summary>
        /// <param name="path">相对路径</param>
        /// <returns>最新写时间</returns>
        private static string GetLastAccessTime(string path)
        {
            string result = string.Empty;
            string abPath = HttpContext.Current.Server.MapPath(path);
            if (File.Exists(abPath))
            {
                result = File.GetLastWriteTime(abPath).ToString("yyyyMMddHHmmssfff");
            }
            return result;
        }
0 0
原创粉丝点击