Mat*_*ete 8 asp.net-mvc asp.net-mvc-viewmodel
在我的ViewModel中有一个需要2行标签的属性,但是当我<br />在DisplayName属性中放置HTML代码时,会将HTML代码打印到页面而不是被解释为换行符.有没有办法DisplayName让它有一个换行符呢?
视图:
<tr>
<td>
@Html.LabelFor(m => m.GrossGallons)
</td>
<td>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
视图模型:
[DisplayName("Gross Gallons <br /> (Max: 6,000)")]
public decimal GrossGallons { get; set; }
Run Code Online (Sandbox Code Playgroud)
输出试图得到:
Gross Gallons
(Max: 6,000)
Run Code Online (Sandbox Code Playgroud)
Ric*_*ard 15
有一种简单的方法可以做到这一点 - 使用\n而不是<br />使用CSS来使其工作.
模型:
[DisplayName("Gross Gallons\n(Max: 6,000)")]
public decimal GrossGallons { get; set; }
Run Code Online (Sandbox Code Playgroud)
CSS:
label { white-space: pre-wrap; }
Run Code Online (Sandbox Code Playgroud)
我建议尽可能使CSS选择器具体化,以免捕获其他标签(如果您在其他地方手工使用标签,您的源代码可能包含空格).例如,在bootstrap中我会应用它label.control-label.
您还可以仅为该标签附加更具体的样式,并仅为该类设置样式.
@Html.LabelFor(m => m.GrossGallons, new { @class = "multiline-label" })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4971 次 |
| 最近记录: |