我是 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>";
最佳答案
如您所见,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>
关于c# - 在 ASP.NET C# 和 Razor 变量中编写 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12964161/