そのため、MVC4ではスクリプトとスタイルのバンドルが導入されています。これはこれを可能にします:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
"~/Scripts/jquery.mobile-*"));
次に、次のようなかみそりのビューで使用されます。
@Scripts.Render("~/bundles/mobile")
私の質問は、なぜ入力する必要があるのかということ"~/bundles/mobile"
です。強く型付けされたオブジェクトを取得するためのインテリジェンスを取得する方法はありますか?それ以外の場合は、同じものと呼んでいることを確認するために調べに行く必要があります。
私はこのようなことをしたいと思います:(これはこのようにコンパイルされないことを私は知っています、それは単なる例です)
public static void RegisterBundles(BundleCollection bundles)
{
Bundle mobile = new Bundle("mobile");
mobile.AddFile("w/e")
bundles.Add(mobile);
//in page:
@Scripts.Render(BundleConfig.mobile)
またはそれに影響を与える何か。
編集:答えはとても簡単です。@Hao Kung
指摘するように@Styles.Render
、単にURL文字列パスを取ります。パスを保持するクラスを作成しました。
public class bundles
{
#region Javascript
public static string scripts = "~/bundles/scripts";
...
#endregion
#region CSS
public static string css = "~/Content/css";
public static string jqueryUi = "~/Content/themes/base/css";
...
#endregion
}
どのページでも、あなたは単にします
@Styles.Render(bundles.jqueryUi)
そこにあります。あなたの側で少し余分な努力がありますが、少なくとも今は強く型付けされています。