在C#ASP.NET视图中动态嵌入Html属性

ada*_*not 1 html c# asp.net-mvc

我正在尝试动态设置div的属性(数据状态),如果满足条件.

我目前正在使用@ Html.Raw帮助器,但是它没有进入元素.

我也试图使用Response.Write(),但它只是将所有内容写入页面顶部.

有没有最好的方法将其实际嵌入到代码中,或者创建/设置新属性?

@foreach (var r in Model)
    {
        <div class="marker"
             data-date="@r.date_finished"
             data-name="@r.name"

             @if (r.complete == "CP")
                 {
                     @Html.Raw("data-status='complete'");
                 }
         >
         </div>
     }
Run Code Online (Sandbox Code Playgroud)

And*_*rei 5

这应该这样做:

<div class="marker"
     data-date="@r.date_finished"
     data-name="@r.name"
     @{if (r.complete == "CP") { <text>data-status='complete'</text> }}>
Run Code Online (Sandbox Code Playgroud)

注意<text>标签的用法.这是Razor用来按原样输出内容的特殊标签.