.net mvc扩展HtmlHelper类的引用资源文件方法
一、在mvc项目根目录下建 App_Code 文件夹,在该文件夹下建 UIHelper 类
UIHelper.cs
public static class UIHelper { /// <summary> /// 获得资源版本号 /// </summary> /// <returns></returns> public static string GetVersion() { return ConfigurationManager.AppSettings["Version"]; } /// <summary> /// tag转mvchtml标签 /// </summary> /// <param name="tagBuilder"></param> /// <param name="renderMode"></param> /// <returns></returns> public static MvcHtmlString ToMvcHtmlString(this TagBuilder tagBuilder, TagRenderMode renderMode) { return new MvcHtmlString(tagBuilder.ToString(renderMode)); } /// <summary> /// 自定义script标签 /// </summary> /// <param name="htmlHelper"></param> /// <param name="jsPath"></param> /// <returns></returns> public static MvcHtmlString Script(this HtmlHelper htmlHelper, string jsPath) { // 获取自定义js域 string jsUrl = ConfigurationManager.AppSettings["JsURL"]; TagBuilder tag = new TagBuilder("script"); string path = string.Empty; if (string.IsNullOrEmpty(jsUrl)) { path = HttpContext.Current.Request.ApplicationPath + $"{jsPath}?v={GetVersion()}"; } else { path = $"{jsUrl}{jsPath}?v={GetVersion()}"; } tag.MergeAttribute("src", path); return tag.ToMvcHtmlString(TagRenderMode.Normal); } /// <summary> /// 自定义link标签 /// </summary> /// <param name="htmlHelper"></param> /// <param name="cssPath"></param> /// <returns></returns> public static MvcHtmlString Css(this HtmlHelper htmlHelper, string cssPath) { // 获取自定义css域 string cssURL = ConfigurationManager.AppSettings["CssURL"]; TagBuilder tag = new TagBuilder("link"); string path = string.Empty; if (string.IsNullOrEmpty(cssURL)) { path = HttpContext.Current.Request.ApplicationPath + $"{cssPath}?v={GetVersion()}"; } else { path = $"{cssURL}{cssPath}?v={GetVersion()}"; } tag.MergeAttribute("href", path); tag.MergeAttribute("rel", "stylesheet"); return tag.ToMvcHtmlString(TagRenderMode.SelfClosing); } }
二、扩展方法的使用
@Html.Css("/Content/css/public.min.css"); @Html.Script("/Content/js/jquery-1.10.2.min.js");
如下图: