こんにちはみんな私はMVC3でテーマを動的に変更する方法についてインターネットでたくさんの記事とチュートリアルを読みました。しかし、それは私のニーズに合わないようです。この一連
のチュートリアルを読みました
http://www.codeproject.com/Articles/171695/Dynamic-CSS-using-Razor-Enginehttp://kazimanzurrashid.com/posts/asp-dot-net-mvc-theme
-supported-razor-view-engine
http://www.carlj.ca/2007/11/19/dynamically-applying-themes-to-your-aspnet-site-with-a-sitemap/
http://www。 dotnetfunda.com/articles/article14.aspx
http://msdn.microsoft.com/en-us/library/tx35bd89.aspx
http://www.codeproject.com/Articles/18300/How-to-change-page- theme-in-asp-net-2-0-dynamicall
やその他多数ですが、私のニーズT_Tには適合しません。
問題:私のテーマ(style.css)は、ボタンをクリックすることなく、時々動的に変化するようにしたいと思います。1つのページ/ビューで1つのテーマが別のテーマに変わるのに30分かかるように自然に変化します。(実際、これが可能かどうかさえわかりません)
これまでのところ、私はこのチュートリアルに従っていますが、完全なアプローチではないようです。
私の考えは次のとおり
です。_Layoutのstyle.cssを30分後にstyle2.cssに変更し、さらに30分後に再びstyle3.cssに変更してから、再びstyle.cssにループバックします。そして、このアプローチを行うための最良の方法はどこにありますか?ビューで?コントローラ?jquery?javascript?または何でも。
ここで提案や回答をいただければ幸いです。よろしくお願いします
。Edit2:
現在、Juann Straussから、コンセプトがあると思うjavascriptを使用するソリューションを1つ集めました。
<link rel="Stylesheet" href="@Url.Content("~/Content/style.css")" id="style" />
<script type="text/javascript">
function changetheme()
{
alert('changing theme');
var thestyle = document.getElementById("style");
switch (thestyle.href)
{
case "@Url.Content("~/Content/style.css")":
thestyle.href = "@Url.Content("~/Content/style2.css")";
break;
case "@Url.Content("~/Content/style2.css")":
thestyle.href = "@Url.Content("~/Content/style3.css")";
break;
case "@Url.Content("~/Content/style3.css")":
thestyle.href = "@Url.Content("~/Content/style.css")";
break;
}
}
setInterval(changetheme, (30 * 60 * 1000));
問題:は、正規表現の構文エラーcase "@Url.Content("~/Content/style.css")":
を示す緑色の波線を示しています。どうすれば修正できますか?
私はこれとは別の解決策を持っていますが、機能していないようです... T_T
コード:
<link rel="Stylesheet" href="@Url.Content("~/Content/style.css")" id="style" />
<script type="text/javascript">
function changetheme()
{
alert('changing theme');
var thestyle = document.getElementById("Site");
var href = '@Url.Content("~/")';
switch(thestyle)
{
case (href + '/Content/style.css'): (href + '/Content/style2.css');
break;
case (href + '/Content/style2.css'): (href + '/Content/style3.css');
break;
case (href + '/Content/style3.css'): (href + '/Content/style.css');
break;
}
}
setInterval(changetheme, (30 * 60 * 10000 ));