相关疑难解决方法(0)

为什么Visual Studio代码格式不适用于Razor标记?

或者,我是否应该问,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

70
推荐指数
5
解决办法
3万
查看次数

Razor格式化<text>内容

我注意到Razor <text>标签拒绝遵循任何格式约定.例如,在格式化cshtml文档时,我最终得到如下代码:

@MyHelper.MyMethod(@<div>
    <p>Hello world</p>
</div>)

@MyHelper.MyMethod(@<text>
<p>Hello world</p>
</text>)
Run Code Online (Sandbox Code Playgroud)

请注意,这不是特定于Razor模板函数,<text>任何地方的块都会做同样的事情.

客户端HTML标记(及其内容),例如<div>遵循我指定的格式样式,但无论我在哪里添加(或删除)<text>元素Tag Specific Options...,都没有效果.在前面的例子中,期望的结果是<text>元素内容被格式化为<div>元素内容.

是否有任何技巧,或变通执行,以在相同的格式风格<text>元素,其他块级客户端HTML元素(<div>,<section>)

我已经看到Razor语言的其他类似格式问题,例如这里这里,所以这不是没有先例,似乎可能没有解决方案.无论哪种方式,也许有人遇到过修复.

这是一个Razor 2.X网站,建于VS 2010


附录
(我对此感到厌倦.)

也许这个问题在2012年已经解决了; 不知道,还没有更新.但是,<text>块,@前缀块等不能很好地格式化.

另一个例子,这次是@-prefixed块(构造等)

@foreach (var foo in bar) {
    <div>@(foo.A)</div>
    <div>@(foo.B)</div>
    @foreach (var qux in foo.C) {
        <div>@(qux.D)</div>
        <div>@(qux.E)</div> …
Run Code Online (Sandbox Code Playgroud)

indentation visual-studio-2010 razor

5
推荐指数
1
解决办法
786
查看次数