2010-05-07 14 views
8

Ben yeni bir ASP.NET MVC 2.0 uygulama geliştirme ve yeni ASP.NET 4 kodlama blokları kullanmak isteyen ediyorum. : (kalınbağırsak) pozisyonundaHTML Kodlama Blokları - Geçersiz ifade terim ':'

Unexpected token

:

Benim Görünüm kodu <%: Model.ActivityName %> ancak Visual Studio bildiriyor içerir. Uygulamayı çalıştırdığımda aşağıdaki derleme hatasını alıyorum:

Compiler Error Message: CS1525: Invalid expression term ':'

Neyi eksik? herhangi bir yardım/tavsiye için

Şerefe. zaten işaret edildiği gibi

+1

sen yapıyorsun VS hangi sürümünü? –

+0

VS 2008. Uygulamamı bir MVC 2.0 uygulaması olarak oluşturdum. Bu, ASP.NET 4'ü otomatik olarak kullanmıyor mu? –

+0

@Sam: Görünüşe göre, 2008. – SLaks

cevap

13

Bu özellik sırayla Visual Studio önceki sürümlerinde 2010.

için yeni ASP.Net 4.0, yeni olan, size,

<%= Html.Encode(Model.ActivityName) %> 
+0

Teşekkür Schabse inanıyoruz VS2010 gerekir. Belki de bunu 2010 yılında devretmem gerekebileceği fikrinden tamamen memnun kaldım. Çok takdir ediyorum. –

+0

ASP.Net MVC'yi kullanmak için VS2010 kullanmanız gerekmez. – SLaks

+0

Evet biliyorum. Sadece codeblocks özelliğini kullanabilmek istiyorum. Bu yepyeni bir projedir, böylece elimden gelen en güncel şeyleri kullanmak istiyorum. MVC 1 projemizin hepsi, 2008 –

1

yazmalı VS doğru sürümünü kullanmanız gerekir. bunu yapamazsınız ve yararlı olabilir Html.Encode yöntemi Phil Haack had a post about doing the opposite kullanmak için tüm kod değiştirmeniz gerekirse. VS

bunu bağlamış değil o

fakat ters arama ve değiştirme şey

\<\%:b*{[^%]*}:b*\%\> 

gibi

<%:= Html.Encode\(\1 \) %> 

olan veya buna yakın bir şey ile değiştirilir olmalıdır. Test etmek için şu anda IDE demediğimi söylediğim gibi, tüm projeniz boyunca çalıştırmadan önce deneyin. Hedef çerçevesi .NET Framework 4.0'a ayarlı değil gibi

+0

Cheers Sam'de devredildi ve blog bağlantısı için teşekkürler. Bunu sadece dün etkiyi okudum. :) –

5

geliyor.

Bunu yapmak için çözüm explorer sağ bağlam menüsünde proje kök ve özellikleri seçin tıklayın. aşağı Hedef Framework için bir damla görmelisiniz uygulama sekmesinde

. Bunu .NET Framework 4.0 olarak değiştirin.

deneyin ve hata uzağa giderse görmek için derlemek.

+0

Bingo! Bu benim için yaptı. Başka bir projede 3.5'te çalışıyordum ve yeni çözüme başladığımda takıldım. Teşekkürler DevDave! – kdmurray