2011-01-30 31 views
5

Ten kod działa wewnątrz Razor Wyświetleń ale nie działa wewnątrz ciała i niestandardowych pomocników w _Layout.cshtml: wiadomośćzmienne lokalne nie działają w Razor pomocników

@{ var v = "foo"; } 
@v 

błąd: „Element v nie istnieje w obecny kontekst”

Używam tylko pobrać Visual Web Developer Express 2010.

Może ktoś wyjaśnić to zachowanie?

Odpowiedz

7

Ten kod działa poprawnie w obu widokach i _layout.cshtml. I o ile pomocnicy są tutaj zainteresowana jest składnia:

@helper MyHelper() 
{ 
    var v = "foo"; 
    @v  
} 
@MyHelper() 

tym mówi deklarowania zmiennych lokalnych i pisania kodu C# w widokach należy unikać.

Powiązane problemy