能否在Razor的@()中使用HTML代码?含三元运算符换行需求
解决Razor三元运算符内嵌入HTML换行的问题
在Razor的@()代码块里使用三元运算符时,直接在字符串里写<br/>会被Razor自动HTML编码,显示成纯文本而非换行效果。要实现换行且不换行编写代码,只需用Html.Raw()包裹包含HTML标签的字符串,示例代码如下:
<h1 class="display-4">Welcome @(SignInManager.IsSignedIn(User) ? user.FirstName : Html.Raw("Maybe you wanna<br/>log in?"))</h1>
Html.Raw()的作用是告诉Razor不要对传入的字符串进行HTML编码,让其中的<br/>标签直接被浏览器解析为换行。- 原代码中
@user.FirstName的@可以省略,因为已经处于@()代码块内部,直接引用变量即可。
内容的提问来源于stack exchange,提问作者Gurfulhete
相关产品推荐
相关产品推荐

