我是ASP.NET C#的新手,我对一些东西有问题。
在PHP中,我可以将HTML代码存储在一个变量中,例如:
$list = "<li>My List</li>";
echo "<ul>{$list}</ul>"; // write <ul><li>My List</li></ul>
我在ASP.NET和Razor上试过了
string List = "<li>My List</li>";
<ul>@List</ul>
但ASP将"<“和">”改为>
和<
。你知道解决这个问题的办法吗?
我还有另一个问题,我可以像PHP一样在引号中插入变量吗?
echo "<ul>{$list}</ul>";
发布于 2012-10-18 21:40:16
正如您已经注意到的,Razor引擎HTML默认对字符串进行编码。要避免此行为,只需使用Html.Raw()
<ul>@Html.Raw(List)</ul>
编辑
要在字符串中呈现变量,我想您可以使用string.Format
@{ var someVariable = "world"; }
@string.Format("<div>hello {0}</div>", someVariable)
尽管这看起来有点过头(至少对于本例而言),但你可以直接写:
<div>hello @someVariable</div>
发布于 2022-01-18 22:35:46
对于ASP.NET Core6.0,您可以像这样使用MarkupString:
@((MarkupString) yourString)
https://stackoverflow.com/questions/12964161
复制相似问题