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

标签 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>

我在 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/

相关文章:

c# - 你如何欺骗一个窗口,让它相信它有焦点?

c# - 签署 WP7 项目的强名?

asp.net-mvc - 如何让浏览器链接在 asp mvc 6 项目中工作

asp.net - 压缩过滤器 + MVC + Yahoo YSlow

html - 如何覆盖 MVC Razor 中的@section

c# - 更新 List <T> 的特定列

c# - 检查 CTRL+ALT+DEL 屏幕是否可见的替代方法

javascript - 如何在 html 表格行中存储附加值并隐藏这些值不显示?

asp.net - LINQ to SQL Web 应用程序最佳实践

ASP.NET ObjectDataSource SelectParameters CookieParameter 问题