asp.net-mvc - 如何使代码缩进在 vbhtml razor 文件中正确运行?

标签 asp.net-mvc vb.net asp.net-mvc-3 razor indentation

这让我陷入了困境。我是一名长期 VB.NET 表单开发人员,对 ASP.NET 非常陌生,对 MVC 完全陌生。我正在创建使用 VB.NET Razor 语法的 vbhtml 页面,并且我似乎一直在与试图我的代码缩进不正确。采取以下基于新 Razor View 的模板页面的示例:

@Code
    Layout = Nothing
End Code
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <div>
        @If True Then
            @<ul>
                @For x = 1 To 2

                Next
            </ul>
                End If '<-- Randomly indented too far
    </div>
</body>
</html>

在上面的示例中,一旦我在 Next 之后按回车键,下面两行 End If 就会从应有的位置向前随机跳转两个选项卡。在其他示例中,我遇到了一个圆圈,其中将一条线推到正确的位置会使另一条线脱离位置,反之亦然。

此时我很恼火,我很乐意完全禁用自动缩进并自己管理它,但我什至不知道如何做到这一点!根据另一个线程的建议,我禁用了 HTML 页面的缩进,但停止的只是 HTML 标记的缩进 - 代码块仍然到处滑动。

我认为扩展可能会导致问题,但我将它们全部禁用并重新启动,问题仍然存在。我是否在做一些根本性错误的事情?我很难相信 Microsoft 会发布如此糟糕的东西,所以看起来更有可能是我没有正确使用它。

最佳答案

我在另一个问题上找到了一个(时尚的)解决方案(在发布这个问题之前我确实进行了努力搜索,但找不到任何东西):Why doesn't Visual Studio code formatting work properly for Razor markup?

本质上,解决方案似乎是确保您的代码使用空格而不是制表符作为空白。虽然由于空白增加而增加了页面的整体大小,但它确实减轻了问题(虽然没有完全消除它)。在链接的线程中,似乎与 Microsoft 有联系的人承认这确实是与 HTML 和 VB.NET 重叠格式化程序相关的错误,他们希望在新版本中对其进行改进。我已将每个缩进减少到 2 个空格,以减少带宽影响。

感谢贡献者。

关于asp.net-mvc - 如何使代码缩进在 vbhtml razor 文件中正确运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8269660/

相关文章:

c# - 使用 ipv6 地址连接到使用 HttpClient 的服务器(使用 ipv6 地址定义 URI)修复 - 无效的 URI : Invalid port specified)

javascript - View 中存在多个表单,部分 View 中存在单个提交

jquery - 为什么不引人注目的验证只有在 AJAX 发布之后才起作用?

c# - 使用 MVC3、Razor 和 C# 的插件系统

c# - 如何在 asp.net mvc core 中为 Identity Server 4 编写集成测试

javascript - 将图像从数据库加载到 Bootstrap 轮播中

c# - 读取使用 FileUpload 控件上传的 Excel 文件而不将其保存在服务器上

vb.net - 从 vb.net 中的数据 GridView 中查找文本

c# - 如何检测我的 .NET 程序集是从网站运行还是从桌面计算机运行?

c# - 如何在Orchard中创建表关系?