首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASP.NET C#和Razor的变量中编写HTML代码

在ASP.NET C#和Razor的变量中编写HTML代码
EN

Stack Overflow用户
提问于 2012-10-18 21:38:45
回答 2查看 44K关注 0票数 25

我是ASP.NET C#的新手,我对一些东西有问题。

在PHP中,我可以将HTML代码存储在一个变量中,例如:

代码语言:javascript
运行
AI代码解释
复制
$list = "<li>My List</li>";
echo "<ul>{$list}</ul>"; // write <ul><li>My List</li></ul>

我在ASP.NET和Razor上试过了

代码语言:javascript
运行
AI代码解释
复制
string List = "<li>My List</li>";
<ul>@List</ul>

但ASP将"<“和">”改为&gt;&lt;。你知道解决这个问题的办法吗?

我还有另一个问题,我可以像PHP一样在引号中插入变量吗?

代码语言:javascript
运行
AI代码解释
复制
echo "<ul>{$list}</ul>";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-18 21:40:16

正如您已经注意到的,Razor引擎HTML默认对字符串进行编码。要避免此行为,只需使用Html.Raw()

代码语言:javascript
运行
AI代码解释
复制
<ul>@Html.Raw(List)</ul>

编辑

要在字符串中呈现变量,我想您可以使用string.Format

代码语言:javascript
运行
AI代码解释
复制
@{ var someVariable = "world"; }
@string.Format("<div>hello {0}</div>", someVariable)

尽管这看起来有点过头(至少对于本例而言),但你可以直接写:

代码语言:javascript
运行
AI代码解释
复制
<div>hello @someVariable</div>
票数 44
EN

Stack Overflow用户

发布于 2022-01-18 22:35:46

对于ASP.NET Core6.0,您可以像这样使用MarkupString

代码语言:javascript
运行
AI代码解释
复制
@((MarkupString) yourString)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12964161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档