特定の.js および .css ファイルを必要なページだけに含めたい。
たとえば、私の EditorTemplateDateTime.ascx
にはファイルanytimec.js
とanytimec.css
.
このテンプレートは、DateTime 型の値を持つモデルのビューでEditorForまたはEditorForModelヘルパー メソッドを使用するたびに適用されます。
私のテクニック:
<head>
この条件をマスター ページのセクションに入れました。ModelMetadataの DateTime型プロパティをチェックします。
<% if (this.ViewData.ModelMetadata.Properties.Any(p => p.ModelType == typeof(DateTime))) { %>
<link href="../../Content/anytimec.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/anytimec.js" type="text/javascript"></script>
<% } %>
これには2 つの問題があります。
タイプ DateTime のネストされた子モデルがあると失敗します
EditorForまたはEditorForModelメソッドのないビューによって不必要にトリガーされる(例: DisplayForModel )
このテクニックを改善するにはどうすればよいですか?