2012-01-21 14 views
6

W normalnym kodzie C# mogę użyć instrukcji using do zdefiniowania aliasu dla nazwy klasy, np.Definiowanie aliasu dla klasy Razor

using MyAlias = Some.Long.Namespace.Class; 

Próbowałem to samo w widoku z ostrzami, naiwne podejście jak

@using MyAlias = Some.Long.Namespace.Class 

nie działa. Czy istnieje sposób na osiągnięcie tego samego efektu?

Odpowiedz

11

Dlaczego chcesz to zrobić? Niezależnie od powodu, dla którego tego potrzebujesz, prawdopodobnie istnieje lepszy sposób. Powinieneś unikać pisania kodu C# w widoku Razor, więc nie powinieneś go potrzebować. Wszystko czego potrzebujesz w widoku Razor to przestrzeń nazw dla twojego modelu widoku, ponieważ to wszystko, czym powinien manipulować widok.

@model MyViewModel 
... 

Zostaw aliasy i kod C#, gdzie ich miejsce - kontrolery, modele, pomocników, ...

Wszystko to zostało powiedziane, aliasy powinno działać. Na przykład poniższy widok działa doskonale dla mnie:

+5

Co jeśli chciałbyś odnieść się do swojego Modelu w swoim widoku za pomocą "MyViewModel" zamiast "Modelu"? tj. MyViewModel.MyProperty zamiast Model.MyProperty – andrew

Powiązane problemy