Razor

2012-01-21 25 views
6

ile bir sınıf için bir takma ad tanımlanması Normal bir C# kodunda, sınıf adına ait bir takma ad tanımlamak için bir kullanma deyimini kullanabilirim, ör.Razor

using MyAlias = Some.Long.Namespace.Class; 

Ben bir jilet görünümünde çalışmaz

@using MyAlias = Some.Long.Namespace.Class 

gibi naif bir yaklaşım aynı çalıştık. Aynı etkiye ulaşmak için herhangi bir yolu var mı?

cevap

11

Bunu neden yapmak istersiniz? Bunun için ne gerekiyorsa, muhtemelen daha iyi bir yol var. Yine de bir Razor görünümünde C# kodu yazmamaktan kaçınmalısınız, bu yüzden buna ihtiyacınız olmamalıdır. Bir Razor görünümünde ihtiyacınız olan tek şey, görünüm modelinizin ad alanıdır, çünkü bu, bir görünümün işlemesi gereken şeydir.

@model MyViewModel 
... 

ait oldukları yere adlar ve C# kodu bırakın - kontrolörleri, modeller, yardımcıları, ...

Bütün bunlar söyleniyor, takma adlar çalışması gerekir. Örneğin aşağıdaki görüntü benim için mükemmel ince çalıştırır:

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

Ne "MyViewModel" yerine "Modeli" kullanarak görünümünde Modeli başvurmak istiyorsa ne olacak? Model.MyProperty yerine MyViewModel.MyProperty – andrew