Asp.net-Mvc
VB.NET 中的 Razor 視圖引擎怪癖
我剛剛下載了 MVC 3.0 RC,我很高興開始使用它,尤其是 Razor 視圖引擎。但是,由於這裡有一些陷入泥潭的人,我們被困在使用 VB.NET 而不是 C#。
當我開始嘗試它時,我注意到了一些怪癖。如果您使用 CSHTML 創建 Razor 視圖,則可以編寫如下程式碼:
@foreach(string genreName in Model.Genres) { <li>@genreName</li> }Razor 會自動檢測到
<li>文本是 HTML 標籤,並會退出“程式碼模式”。對於 VB.NET VBHTML 文件,這似乎不起作用。這讓我把@:關鍵字放在每一行的前面,如下所示:@For Each genreName As String In Model.Genres @:<li>@genreName</li> Next如果我沒有它,我會收到執行時錯誤。此外,
<text></text>標籤似乎不起作用。任何人都知道這裡發生了什麼或是否有解決方法?
我會說在 Vb.net 中需要它的原因是 vb 允許內聯 xml 元素,而 c# 不允許。
Dim xmlMarkup = <someElement>Values</span>因此,vb 的自然解析器的行為必須與 c# 不同,因此您必須告訴解析器使用
@. 您可以使用@和@:。