我尝试在里面显示带有HTML balise的TempData
列表。是否有可能解释应答器,而不仅仅是显示它?
这是用来说明我想要的代码示例。
控制器:
List<string> ls = new List<string>();
ls.Add("<div> First div </div>");
ls.Add("<div> Another div </div>");
ls.Add("<div> Another div again </div>");
TempData.Add("ModelLs", ls);
查看:
var ls = (List<string>)TempData["ModelLs"];
foreach (string str in ls)
{
@str
}
我想在我的页面上显示3个“真正的”div(而不是3 "<div> .... </div>"
)。我怎么能这样做?
答案 0 :(得分:5)
使用Html.Raw
它会返回非HTML编码的标记。
var ls = (List<string>)TempData["ModelLs"];
foreach (string str in ls)
{
Html.Raw(str)
}
答案 1 :(得分:3)
如果我理解你,你想将字符串显示为HTML标记吗?
var ls = (List<string>)TempData["ModelLs"];
foreach (string str in ls)
{
@(new HtmlString(str))
}
Html.Raw()
也有效:
var ls = (List<string>)TempData["ModelLs"];
foreach (string str in ls)
{
@(Html.Raw(str))
}
答案 2 :(得分:1)
以下代码对我来说很好
@{var ls = (List<string>)TempData["ModelLs"];}
<ul>
@foreach (var str in ls)
{
if (!string.IsNullOrEmpty(str))
{
<li>
@Html.Label(str)
</li>
<br />
}
}
</ul>