2012-11-28 35 views
27

Trong một ASP.NET MVC xem 3 dao cạo, Tôi có đoạn code:Tên 'truyền thông' không tồn tại trong bối cảnh hiện nay

<!DOCTYPE html> 
<html> 
<head> 
<style type="text/css"> 
    @media print 
    { 
    table { page-break-inside:auto; width: 100%; } 
    tr { page-break-inside:avoid; page-break-after:auto } 
    thead { display:table-header-group } 
    tfoot { display:table-footer-group } 
    } 
</style> 
</head> 
<body> 
<table> 

Tuy nhiên tôi đã nhận lỗi:

The name 'media' does not exist in the current context. 

Cảm ơn.

+0

Bạn gặp lỗi đó khi nào? –

+0

Trước khi gỡ lỗi, trên màn hình có một đường sóng màu đỏ dưới từ. –

Trả lời

67

Các @ là ký tự dành riêng trong Razor. Nhưng bạn có thể thoát khỏi nó bằng cách sử dụng @@:

@@media print 
10

Trong chế độ xem dao cạo, @ là ký tự ma thuật có mã trước.

Trong trường hợp của bạn, hãy sử dụng 2 @@. Nếu không thì dao cạo sẽ điều rằng nó là một số mã/biểu thức.

@@media print. 

Hoặc bạn cũng có thể sử dụng phương pháp Html.Raw.

@Html.Raw("@")media print 

Bạn có thể làm điều tương tự khi in twitter tên xử lý trong đó có các @ trong đó.

Here là một liên kết MSDN tốt để biết thêm về cú pháp dao cạo và here là một từ phil Hack

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