5

Vì vậy, MVC 4 giới thiệu tập lệnh và kiểu gói. Cho phép cho việc này:gói mvc4 bó bó mạnh mẽ

public static void RegisterBundles(BundleCollection bundles) 
    { 
    bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
        "~/Scripts/jquery.mobile-*")); 

sau đó được sử dụng trong một cái nhìn dao cạo như thế này:

@Scripts.Render("~/bundles/mobile") 

Câu hỏi của tôi là tại sao tôi phải gõ "~/bundles/mobile"? Có cách nào có được sự intellisence để có một đối tượng gõ mạnh mẽ để chọn lên? Nếu không, tôi phải đi tìm nó để chắc chắn rằng tôi gọi nó giống như vậy.

Tôi muốn làm điều gì đó như thế này: (Tôi biết điều này sẽ không biên dịch theo cách này, nó chỉ là một ví dụ)

public static void RegisterBundles(BundleCollection bundles) 
    { 
    Bundle mobile = new Bundle("mobile"); 
    mobile.AddFile("w/e") 
    bundles.Add(mobile); 

//in page: 
@Scripts.Render(BundleConfig.mobile) 

hoặc một cái gì đó để mà ảnh hưởng.

Chỉnh sửa: câu trả lời rất đơn giản. Khi @Hao Kung chỉ ra @Styles.Render chỉ cần lấy đường dẫn chuỗi url. Tôi đã tạo một lớp để giữ các đường dẫn.

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 
} 

trong bất kỳ trang nào thì bạn chỉ cần làm

@Styles.Render(bundles.jqueryUi) 

có bạn có nó. Một chút nỗ lực thêm vào phần của bạn, nhưng ít nhất nó được gõ mạnh mẽ ngay bây giờ.

Trả lời

2

Trình trợ giúp Render Scripts/Styles Render không giới hạn các tham chiếu hiển thị cho nhóm, chúng giải quyết mọi url, vì vậy cách duy nhất để trình trợ giúp phát hiện ý bạn tham chiếu gói là bằng cách chuyển vào đường dẫn ảo của Bó.

+0

ah có tất nhiên! Bây giờ tôi cảm thấy ngu ngốc – Eonasdan

Các vấn đề liên quan