一、在mvc项目根目录下建 App_Code 文件夹,在该文件夹下建 UIHelper 类
UIHelper.cs
public static class UIHelper
{
///
/// 获得资源版本号
///
///
public static string GetVersion()
{
return ConfigurationManager.AppSettings["Version"];
}
///
/// tag转mvchtml标签
///
///
///
///
public static MvcHtmlString ToMvcHtmlString(this TagBuilder tagBuilder, TagRenderMode renderMode)
{
return new MvcHtmlString(tagBuilder.ToString(renderMode));
}
///
/// 自定义script标签
///
///
///
///
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);
}
///
/// 自定义link标签
///
///
///
///
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");
如下图: