我刚刚下载了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。您可以使用@和@ :.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。