asp.net-mvc – Razor查看引擎在VB.NET中的怪癖

我刚刚下载了MVC 3.0 RC,我很高兴开始使用它,特别是Razor视图引擎。然而,由于在这里的泥浆类型的人中几个坚持,我们被卡住使用VB.NET而不是C#。

当我开始尝试时,我注意到了一些怪癖。如果您使用CSHTML创建Razor视图,则可以编写如下代码

@foreach(string genreName in Model.Genres)
{
    <li>@genreName</li>
}

剃刀会自动检测到< li> text是一个HTML标签,将切换到“代码模式”。使用VB.NET VBHTML文件,这似乎不起作用。这使我把@:关键字放在每一行的前面,如下所示:

@For Each genreName As String In Model.Genres
    @:<li>@genreName</li>
Next

如果我没有它,我得到一个运行时错误。另外,< text>< / text>标签似乎不起作用

有人知道这里发生了什么,还是有解决方法

解决方法

我会说在Vb.net中需要的原因是vb允许xml元素inline而c#不。
Dim xmlMarkup = <someElement>Values</span>

因为这样,vb的自然解析器必须与c#的行为不同,所以你必须告诉解析器通过使用@转义回html。您可以使用@和@ :.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...