5

因此,MVC 4引入了腳本和樣式捆綁。它允許這樣的: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) 

你有它。對你來說有點額外的努力,但現在至少它是強類型的。

回答

2

渲染腳本/樣式渲染助手並不侷限於渲染對綁定的引用,它們解析任何網址,因此幫助程序檢測引用綁定的唯一方法是通過傳遞虛擬路徑捆綁。

+0

啊當然是!我現在感到很蠢 – Eonasdan