2016-09-20 26 views
1

私は "テンプレートシステム"のようなものを作って、ユーザがサイトテンプレートを変更できるようにしようとしています。管理パネルなど。異なるフォルダにあるCSS

デフォルトコントローラ(ホーム)私は現在のテンプレート名を確認し、右のビュー

private ViewResult TemplateView(string viewName) 
{ 
    return View($"~/Views/Templates/{GlobalSettings.CurrentTemplate}/{viewName}.cshtml"); 
} 

そして、いくつかのテンプレートビューを表示するには私の現在のファイル構造

-Controllers 
-Models 
-Views 
--Templates 
---DefaultTemplate 
----css 
-----style.css 
----Index.cshtml 

Index.cshtml

..... 
<link rel="stylesheet" href="~/Views/Templates/DefaultTemplate/css/style.css" type="text/css" /> 
..... 

しかし、私はどのように右のテンプレートで私のCSS \ js \ imagesへの正しいパスを書くのか分からないeフォルダー。

私はこの場合、この

~/Views/Templates/DefaultTemplate/css/style.css 

をも試してみました(見つからない)

を私は

./css/style.css 

@Url.Content("/css/style.css") 

を試してみましたが、結果のHTMLで、それはmysite.com/css/style.cssようなので、私は404を持っています404もあります。

だから誰でも助けてくれますか? CSS、画像、hsなどに正しいURLを書き込む方法は?

答えて

1

/ビューのフォルダ内のweb.configファイルは、デフォルトでは、フォルダ内のファイルへのすべてのアクセスを制限します。

は、web.configファイルにコードを追加します。

<httpHandlers> 
    <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> 
</httpHandlers> 

注:それは良いではありませんビューフォルダー内にCSSファイルを格納する習慣。

+0

指定したパスにのみアクセスを許可できますか?すべてのビューフォルダではありませんか? –

+0

[こちら](http://stackoverflow.com/questions/604883/where-to-put-view-specific-javascript-files-in-an-asp-net-mvc-application)を参照してくださいビューフォルダ? –

+0

ユーザーフレンドリー。 「js/template」のスタンプ、「CSS /テンプレート」にスタイルを入れる必要はありません。 –

関連する問題