コメント
コメントの投稿
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。
<configuration>
<system.web>
<pages theme="default">
<!-- 途中省略 -->
</pages>
<!-- 途中省略 -->
</system.web>
</configuration>
Option Explicit On
Option Strict On
Imports System.Web
Imports System.Web.UI
Namespace Library
Public Class ThemeManager
''' <summary>
''' 設定されているテーマに紐づくディレクトリを取得する
''' </summary>
''' <returns></returns>
Public Shared Function GetThemePath() As String
Dim page As Page = DirectCast(HttpContext.Current.CurrentHandler, Page)
Dim themeName As String = page.Theme
If String.IsNullOrEmpty(themeName) Then
themeName = "default"
End If
Return "~/App_Themes/" + themeName + "/"
End Function
''' <summary>
''' 引数のファイルパスを設定されているテーマに基づくパスで取得する
''' </summary>
''' <returns></returns>
Public Shared Function GetResolveUrl(ByVal filePath As String) As String
Dim page As Page = DirectCast(HttpContext.Current.CurrentHandler, Page)
Return page.ResolveUrl(ThemeManager.GetThemePath + filePath)
End Function
End Class
End Namespace
<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="Base.master.vb" Inherits="AspNetTest.Base" %>
<%@ Import Namespace="BaseLibrary.Library" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<asp:ContentPlaceHolder ID="cph_header" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder ID="cph_body" runat="server">
</asp:ContentPlaceHolder>
</div>
<div>
<asp:ContentPlaceHolder ID="cph_footer" runat="server">
</asp:ContentPlaceHolder>
</div>
<script src="<%=ThemeManager.GetResolveUrl("scripts/jquery-1.10.2.min.js")%>"></script>
<asp:ContentPlaceHolder ID="cph_script" runat="server">
</asp:ContentPlaceHolder>
</form>
</body>
</html>
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Master/Base.Master" CodeBehind="TestPage.aspx.vb" Inherits="AspNetTest.TestPage" %>
<%@ Import Namespace="BaseLibrary.Library" %>
<%@ Register Assembly="BaseLibrary" Namespace="BaseLibrary.Controls" TagPrefix="custom" %>
<asp:Content ID="header" ContentPlaceHolderID="cph_header" runat="server">
</asp:Content>
<asp:Content ID="body" ContentPlaceHolderID="cph_body" runat="server">
</asp:Content>
<asp:Content ID="footer" ContentPlaceHolderID="cph_footer" runat="server">
</asp:Content>
<asp:Content ID="script" ContentPlaceHolderID="cph_script" runat="server">
<script src="<%=ThemeManager.GetResolveUrl("scripts/slick.min.js")%>"></script>
<script src="<%=ThemeManager.GetResolveUrl("scripts/slick_ex.js")%>"></script>
<script src="<%=ThemeManager.GetResolveUrl("scripts/jquery.lazyload.min.js")%>"></script>
<script src="<%=ThemeManager.GetResolveUrl("scripts/common.js")%>"></script>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(
function(evt, args) {
//Javascriptを再読み込みする
$.getScript("<%=ThemeManager.GetResolveUrl("scripts/slick_ex.js")%>")
$.getScript("<%=ThemeManager.GetResolveUrl("scripts/common.js")%>")
});
</script>
</asp:Content>
<%@ Page Title="" Language="vb" AutoEventWireup="false" EnableTheming="False"
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。