2011-07-24 33 views
12

Đoạn mã sau kích hoạt cảnh báo "Biên dịch có điều kiện đã tắt" trong một trong các giao diện của tôi. Bạn có ý tưởng về cách khắc phục nó không?Trình biên dịch có điều kiện tắt cảnh báo khi trộn dao cạo và javascript

<script type="text/javascript"> 
    $(document).ready(function() { 
     @RenderSection("JQueryDocumentReady",false) 
    }); 
</script> 

Tôi đã cố chèn dấu chấm phẩy vào cuối câu lệnh kết xuất nhưng không giúp được gì.

Cảm ơn bạn.

+0

Lưu ý cho người khác: mặc dù các lỗi hiển thị trong các mã, mã dao cạo vẫn được thực thi/biên soạn một cách chính xác. Vì vậy, trình biên dịch có thể xử lý razor/JS, nó chỉ là intellisense hoặc bất cứ thành phần nào hiển thị hình dạng như bạn gõ mà có một vấn đề. – AaronLS

Trả lời

12

LƯU Ý: Câu trả lời được chấp nhận vì đề xuất thay thế cho câu hỏi, không phải giải pháp được đưa ra cho vấn đề trong tiêu đề.

Tôi không chắc chắn 100% Compilation Compilation nào có liên quan đến việc ở trong khối <script>, nhưng tôi đã thấy rằng việc gói các câu lệnh trong ngoặc đơn đã khắc phục được sự cố.

@(RenderSection("JQueryDocumentReady")) 

Tôi nghĩ phương pháp này có một chút mùi mã. Nó không phải là một vấn đề để chỉ có một phần kịch bản và gán mọi thứ vào tài liệu sẵn sàng trên mỗi trang. Nó thực sự không phải là sẽ giúp bạn tiết kiệm nhiều công việc, và nó sẽ buộc bạn phải đặt javascript trên quan điểm bên ngoài của thẻ script theo cách bạn đã chọn để làm điều đó.

+5

Điều này giới thiệu một cảnh báo khác: * Ký tự không hợp lệ * trên dấu ngoặc đơn mở. Tôi nghĩ rằng đây là một nguyên nhân bị mất. Chúng ta chỉ cần chờ đợi sự tích hợp Razor tốt hơn trong vNext. –

+0

@NickLarsen Đồng ý về javascript bên ngoài phần thẻ tập lệnh. Cảm ơn câu trả lời và lời khuyên của bạn. – nakhli

+0

@DarinDimitrov: Tôi thấy nó ngay bây giờ, chỉ không làm nổi bật nó cho tôi trong trình soạn thảo. –

0

bạn có thể thử

$(document).ready(function() { '@RenderSection("JQueryDocumentReady",false)'; });

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