Car*_*man 19 c# asp.net asp.net-mvc razor
我是ASP.NET C#的新手,我遇到了一些问题.
在PHP中,我可以将HTML代码存储在变量中,例如:
$list = "<li>My List</li>";
echo "<ul>{$list}</ul>"; // write <ul><li>My List</li></ul>
Run Code Online (Sandbox Code Playgroud)
我在ASP.NET和Razor中尝试过这个
string List = "<li>My List</li>";
<ul>@List</ul>
Run Code Online (Sandbox Code Playgroud)
但ASP改变了"<"和">" >和<..你知道任何解决方案吗?
我有另一个问题,我可以在像PHP这样的引号中插入变量吗?
echo "<ul>{$list}</ul>";
Run Code Online (Sandbox Code Playgroud)
McG*_*gle 34
正如您所注意到的,Razor引擎HTML默认编码字符串.要避免此行为,只需使用Html.Raw():
<ul>@Html.Raw(List)</ul>
Run Code Online (Sandbox Code Playgroud)
编辑
要在字符串中呈现变量,我想您可以使用string.Format:
@{ var someVariable = "world"; }
@string.Format("<div>hello {0}</div>", someVariable)
Run Code Online (Sandbox Code Playgroud)
虽然在你可以写的时候看起来有点矫枉过正(至少在这个例子中):
<div>hello @someVariable</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34842 次 |
| 最近记录: |