2012-01-21 35 views
6

Trong mã C# bình thường, tôi có thể sử dụng câu lệnh sử dụng để xác định bí danh cho tên lớp, ví dụ:Xác định bí danh cho lớp học bằng Razor

using MyAlias = Some.Long.Namespace.Class; 

Tôi đã cố gắng như nhau trong một cái nhìn dao cạo, một cách tiếp cận ngây thơ như

@using MyAlias = Some.Long.Namespace.Class 

không hoạt động. Có cách nào để đạt được hiệu quả tương tự không?

Trả lời

11

Tại sao bạn muốn thực hiện điều đó? Dù lý do bạn cần điều này cho, có lẽ là một cách tốt hơn. Bạn nên tránh viết mã C# trong chế độ xem Dao cạo, vì vậy bạn không nên cần đến mã đó. Tất cả những gì bạn cần trong khung nhìn Razor là vùng tên cho mô hình khung nhìn của bạn bởi vì đó là tất cả những gì mà một khung nhìn nên thao tác.

@model MyViewModel 
... 

Để lại các bí danh và mã C# để nơi họ thuộc về - bộ điều khiển, mô hình, giúp việc, ...

Tất cả điều này đang được nói, các bí danh nên làm việc. Ví dụ: chế độ xem sau chạy hoàn toàn tốt cho tôi:

@using foo = System.IO; 
<div> 
    @foo.Path.GetFileName(@"c:\work\foo.txt") 
</div> 
+5

Còn nếu bạn muốn tham khảo Mô hình của mình trong chế độ xem bằng cách sử dụng "MyViewModel" thay vì "Mô hình"? ví dụ: MyViewModel.MyProperty thay vì Model.MyProperty – andrew

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