c#strings为html属性

Chr*_*423 4 html c# string razor

我试图让我的剃刀视图更有活力.我试图在表格中为TD设置内联样式.

我做了字符串:

@{
    double width = 100 / 5;
    String widthStyleString = String.Format("style=\"width: {0}%;\"", width);
}
Run Code Online (Sandbox Code Playgroud)

当我将其作为纯文本进行测试时,效果非常好.我有:

style="width: 20%;"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将其放入HTML元素时,我得到了这个:

<td class="table--td" style="&quot;width:" 20%;&quot;="">Some Value</td>
Run Code Online (Sandbox Code Playgroud)

我怎么能让它不解析"作为实体?(它不会让我键入"而不将它变成实际的")


更新:

这仍然是进行HTML属性的好方法.然而在这个例子中,它是一个样式标签,人们评论是正确的; 最好是用css而不是逻辑来做.如果您有这个问题(样式属性),下面的堆栈帖子将对您有所帮助.否则,Html.Raw()很好.

等大小的表格单元格,以填充保持表的整个宽度

如果您不需要担心IE8及以下版本,该链接将解决此问题.否则你仍然需要在css中硬编码宽度百分比.

Dar*_*rov 8

您可以使用,@Html.Raw因为该@函数将HTML编码输出:

<td class="table--td" @Html.Raw(widthStyleString)>Some Value</td>
Run Code Online (Sandbox Code Playgroud)

代替:

<td class="table--td" @widthStyleString>Some Value</td>
Run Code Online (Sandbox Code Playgroud)