2013-04-14 14 views
6

Jak mogę uciec przed okrężnicą w moim kroju brzytwy?Razorowy dwukropek ucieczkowy inline

To jest mój problem:

@[email protected]:: @item.Title - @item.Link - @item.Price 

który powoduje błąd po zmiennej @count. Jak mogę używać dwukropka obok mojej liczby?

Należy uczynić tak:

1: Title - Link - Price 

** UPDATE **

Mój blok kodu

@{ 
    int count = 0; 
    foreach (var item in Model.Wishes) { 
     count++; 
     @[email protected]:: @item.Title - @item.Link - @item.Price 
     <br /> 
    } 
} 
+0

co jest nie tak z '@count:'? – Jasen

+0

Nie możesz użyć @ count: –

+0

Czy zmienna jest zdefiniowana gdzie indziej, czy używasz modelu? –

Odpowiedz

10

Musisz zawinąć część ekranu w kodzie w tagach <text>. Okrężnica nie wymaga ucieczki.

@{ 
    int count = 0; 

    foreach (var item in Model.Wishes) { 
     count++; 
     <text> 
     @count: @item.Title - @item.Link - @item.Price 
     <br /> 
     </text> 
    } 
} 

http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

Znacznik <text> jest elementem, który jest traktowany przez specjalnie do golenia. Powoduje to, że Razor interpretuje wewnętrzną zawartość bloku <text> jako zawartość i nie renderuje zawierającego element znacznika <text> (co oznacza, że ​​zostanie wyrenderowana tylko wewnętrzna zawartość elementu <text> - sam znacznik nie będzie). Dzięki temu jest to wygodne, gdy chcesz renderować wielowierszowe bloki treści, które nie są opakowane przez element HTML.

http://www.asp.net/web-pages/tutorials/basics/2-introduction-to-asp-net-web-programming-using-the-razor-syntax#BM_CombiningTextMarkupAndCode

pomocą operatora @: lub elementu <text>. @: wydaje pojedynczą linię treści zawierających zwykły tekst lub niedopasowane znaczniki HTML; element <text> zawiera wiele linii do wyjścia. Te opcje są przydatne, gdy nie chcesz renderować elementu HTML jako części danych wyjściowych.

+0

W porządku, to jest złote. Dzięki za twoją pomoc :) – aventic

+0

Używam brzytwy od lat, ale ta mała sztuczka minęła mnie. Rozwiązuje sporo problemów :) – Spikeh

0

Jeśli liczba jest zadeklarowana jako zmienna, to powinno działać.

Jeśli licznik jest częścią modelu, powinno to zadziałać.

@model MvcApplication4.Models.DemoViewModel 

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 



@Model.Count: