namespace HappyMovie.Web.Utilities.Helpers
{
public static partial class HtmlRenderHelper{
/// <summary>
/// 讓部分頁面的 Javascript 可以加到 _Layout.chtml
/// </summary>
public static IHtmlString Resource(this HtmlHelper HtmlHelper, Func<object, HelperResult> Template, string Type)
{
if (HtmlHelper.ViewContext.HttpContext.Items[Type] != null) ((List<Func<object, HelperResult>>)HtmlHelper.ViewContext.HttpContext.Items[Type]).Add(Template);
else HtmlHelper.ViewContext.HttpContext.Items[Type] = new List<Func<object, HelperResult>>() { Template };
return new HtmlString(String.Empty);
}
public static IHtmlString RenderResources(this HtmlHelper HtmlHelper, string Type)
{
if (HtmlHelper.ViewContext.HttpContext.Items[Type] != null)
{
List<Func<object, HelperResult>> Resources = (List<Func<object, HelperResult>>)HtmlHelper.ViewContext.HttpContext.Items[Type];
foreach (var Resource in Resources)
{
if (Resource != null) HtmlHelper.ViewContext.Writer.Write(Resource(null));
}
}
return new HtmlString(String.Empty);
}
}
}
在 _Layout.cshtml 上設定位置 :
@Html.RenderResources("css")
@Html.RenderResources("js") <!-- 自定的 HtmlHelper, 讓部分頁面的 Javascript 可以加到 _Layout.chtml -->
在部分頁面上使用 :
@Html.Resource(@<link rel="stylesheet" href="@Url.Content("~/Content/style.css")">, "css")
@Html.Resource(@<style>
.basic-data {
float: left;
}
</style>, "css")
@Html.Resource(
@<script>
$(function () {
});
</script>, "js")
沒有留言:
張貼留言