2013-05-21 27 views
9

Tôi thường đặt các chỉ thị @using vào các trang ASP.NET Razor ở đầu, cùng với chỉ thị @model. Tuy nhiên, đối với bố cục tổng thể của tôi, tôi muốn đảm bảo rằng tuyên bố DOCTYPE là ở phần đầu của tài liệu, vì vậy tôi muốn đẩy @using xuống một chút. Bạn theo dõi có hợp lệ không?Chỉ thị sử dụng có thể được đặt trong các trang ASP.NET Razor ở đâu?

<!DOCTYPE html> 
<html> 
    @using My.Library; 
    <head> 
     <title>Test web page</title> 
     ... 

Ngoài ra, có bất kỳ tài liệu nào về chỉ thị @using có thể được sử dụng trong trang Razor không? Tôi không thể tìm thấy bất kỳ thứ gì. Có hợp lệ để sử dụng nó sau khi một số mã Razor khác, ví dụ, hay nó phải xuất hiện đầu tiên?

Trả lời

9

Hợp lệ và bạn có thể sử dụng @using bất kỳ nơi nào trước đó bạn cần thư viện đó.

MSDN: dòng đánh dấu

HTML có thể được đưa vào bất kỳ phần nào của mã này.

để bạn có thể đặt DOCTYPE ở đầu trang.

+1

Bạn có tài liệu nào xác nhận điều này không? – Jez

+1

OK vì vậy tôi nghĩ rằng quy tắc là chỉ thị '@ using' cần phải đến trước bất kỳ mã Razor nào khác trên trang, nhưng không cần thực sự là trước khi đánh dấu HTML thường xuyên không phải Razor. – Jez

6

Đến Net 4.5 ...

Có một tập tin web.config trong Lần thư mục, bạn có thể thêm namespaces trong đó, có nghĩa là toàn cầu cho tất cả các quan điểm:

ví dụ:

<namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Globalization" /> 
     <add namespace="My.Library" /> 
</namespaces> 
+0

Trừ khi bạn đang sử dụng .Net 5 và MVC nơi không có web.config nữa, thay vào đó hãy thử sử dụng _ViewImports.cshtml, ví dụ cú pháp: @using Microsoft.AspNet.Mvc.ViewFeatures –

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