4

我尝试显示一个TempData带有 HTML 应答器的列表。是否可以解释应答器而不只是显示它?

这是说明我想要什么的代码示例。

控制器 :

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>")。我怎样才能做到这一点 ?

4

3 回答 3

5

使用Html.Raw它会返回非 HTML 编码的标记。

var ls = (List<string>)TempData["ModelLs"];
foreach (string str in ls)
{
    Html.Raw(str)
}
于 2013-07-23T09:20:00.850 回答
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))
}
于 2013-07-23T09:08:52.173 回答
1

下面的代码对我来说很好

                                       @{var ls = (List<string>)TempData["ModelLs"];}

                                        <ul>
                                        @foreach (var str in ls)
                                        {
                                            if (!string.IsNullOrEmpty(str))
                                            {
                                                <li>
                                                    @Html.Label(str)
                                                </li>
                                                <br />
                                            }
                                        }
                                        </ul>
于 2015-12-24T08:12:21.367 回答