VisualStudio自动格式不能正确格式化我的剃刀代码

Jo *_*Smo 8 c# asp.net-mvc razor

我正在使用@:</div>正确显示一些引导列.这是我使用它的代码:

var i = 0;

<div class="container-fluid">
    <div class="row show-grid">
        @foreach (var one in Model)
        {

            if (i % 3 == 0)
            {
                @:<div class="row show-grid">
            }

            <div class="one-element col-md-4">
                @one.Title
            </div>

            if ((i + 1) % 3 == 0)
            {
                @:</div>
            }

            i++;
        }
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

它格式化(只要我不使用VisualStudio自动格式功能,它就可以正常工作):

@:</div>
Run Code Online (Sandbox Code Playgroud)

对此:

@:
</div>
Run Code Online (Sandbox Code Playgroud)

然后应用程序不再起作用了.

怎么解决这个问题?

Jo *_*Smo 1

我用@Html.Raw()这样的方法修复了它:

var i = 0;

<div class="container-fluid">
    <div class="row show-grid">
        @foreach (var one in Model)
        {

            if (i % 3 == 0)
            {
                @Html.Raw("<div class=\"row show-grid\">")
            }

            <div class="one-element col-md-4">
                @one.Title
            </div>

            if ((i + 1) % 3 == 0)
            {
                @Html.Raw("</div>")
            }

            i++;
        }
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想这已经是最好的了。

但如果有人知道更优雅的方法,请告诉我。