2009-07-28 14 views
12

Tôi tự hỏi làm thế nào tôi có thể ngăn chặn những cảnh báo trình biên dịch gây phiền nhiễu "Lớp hoặc giá trị CssClass không được xác định" đến từ ASP của tôi .NET MVC lượt xem một phần/điều khiển người dùng ASCX. CSS được xác định chính xác, nhưng tham chiếu đến tệp CSS chỉ rõ ràng trên trang chính. Xem một phần của tôi chứa rất nhiều tài liệu tham khảo lớp CSS trên div vv và vì vậy tôi nhận được một số lượng lớn các cảnh báo mà tôi không nên nhìn thấy.Tránh "Giá trị class hoặc CssClass không được xác định" Cảnh báo trong ASP.NET MVC ASCX Partial Views (UserControls)

Tôi làm cách nào để giải quyết vấn đề này?

Cảm ơn bạn!

Trả lời

10

Bao gồm này theo quan điểm của một phần của bạn:

<% if (false) { %> 
    <link rel="stylesheet" type="text/css" ... 
<% } %> 

Điều này sẽ làm IntelliSense hạnh phúc, và loại trừ các stylesheet khi trang được trả lại, do đó nó không được bao gồm hai lần.

+0

Sẽ thử điều này, cảm ơn bạn. Đó là một lỗ hổng trong ASP.NET MVC mà hy vọng sẽ được sửa trong phiên bản tiếp theo .... – Alex

+0

Alex, nó không phải là một sửa chữa vì nó là HTML hợp lệ để sử dụng các lớp không có trong bảng định kiểu. Giải pháp của Robert sửa lỗi "" trên các lớp có trong CSS, nhưng VS vẫn sẽ đưa ra các cảnh báo không chính xác trên các lớp không có, ngay cả trong ASP.NET không phải MVC. Vì vậy, tôi không thể đồng ý rằng đó là một "lỗi" của MVC. –

+0

"... không phải là sửa chữa ..." -> "... không phải là một lỗ hổng ..." –

6

Một cách là tắt tính năng Kiểm tra cú pháp HTML (Công cụ-> Tùy chọn-> Trình soạn thảo văn bản-> HTML-> Hiển thị lỗi-> Trong CSS).

Tôi sử dụng plug-in Firefox Tidy, cung cấp lời khuyên tốt hơn, IMHO.

3

Đây không phải là một lỗ hổng trong ASP.Net MVC, và tôi không nghĩ rằng nó sẽ được nó sẽ được cố định trong phiên bản tiếp theo. Đây là một 'giới hạn' (thông báo như thế nào tôi tránh lỗ hổng từ) trong asp.net (không chỉ mvc) mà ngăn cản nó truy cập thông tin tiêu đề được bao gồm trong trang chính. Vì vậy, bạn không có quyền truy cập vào javascript/css trong các trang nội dung/usercontrols.

Mã do Robert Harvey cung cấp là giải pháp hack mà chúng tôi đang sử dụng để khắc phục điều này.

Nó hoạt động bằng cách sử dụng kèm theo tệp bao gồm trong một khối nếu luôn luôn là sai. Vì vậy, trình biên dịch thấy tệp css nhưng thời gian chạy không.

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