或者,我是否应该问,VS代码格式何时适用于Razor标记?格式化适用于大多数结构,但它似乎阻塞'if'块.下面的代码是由VS格式化的.修复这种情况非常容易,还有一个缩进,但我很好地接受了日常使用中的格式,并且喜欢经常使用它来代替我的大部分代码,所以我宁愿避免手动格式化.现在我只是把它作为VS格式化它.
@{
if (User.Identity.IsAuthenticated)
{
<text>Hello </text>
@Html.Display("@ViewBag.UserName") <text> - </text>
@Html.ActionLink("Sign Out", "LogOff", "Account", null, new { style = "font-weight: bold;" })
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这对于可读性很重要,例如在上面,if块的主体是缩进的,除了看起来更好.
asp.net-mvc visual-studio-2010 visual-studio razor asp.net-mvc-3
这让我绕过弯道.我是一位长期VB.NET开发形式的开发人员,非常新颖ASP.NET且全新MVC.我正在创建vbhtml使用VB.NET Razor语法的页面,而且我似乎在不断地反对UI试图不正确地缩进代码的问题.以下示例为基础,基于新Razor视图的模板页面:
@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>
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,一旦我点击返回后Next,End If下面的两行随机地从它应该的位置向前跳跃两个标签.在其他示例中,我击中了一个圆圈,其中将一条线推到正确的位置会使另一条线偏离位置,反之亦然.
我很生气,我很乐意完全禁用自动缩进并自己管理它,但我甚至无法知道如何做到这一点!根据另一个线程的建议,我禁用了HTML页面的缩进,但所有停止的是HTML标签的缩进- 代码块仍然在整个地方滑动.
我认为扩展可能导致问题,但我禁用它们并重新启动,问题仍然存在.我做了一些根本错误的事吗?我发现很难相信Microsoft会发布一些如此糟糕的东西,所以我似乎更有可能不正确地使用它.