如何在C#中的for循环中添加breakline?

时间:2016-09-16 09:12:10

标签: c# asp.net-mvc

我有一个返回错误消息的循环,有没有办法在每条消息后添加一个中断行<br />?或者我是否需要以某种方式在页面中执行此操作?它工作正常,但格式不是很好。

for (int i = 0; i < funcRespCust.ResponseInfoItems.Count(); i++)
{
    TempData["StatusMessage"] = TempData["StatusMessage"] + funcRespCust.ResponseInfoItems[i].Message + " ";
}

显示错误的页面上的代码如下所示。

@if (@TempData["StatusMessage"].ToString() != "allok")
{
<div class="alert alert-danger">
    <i class="fa fa-frown-o"></i>
    <strong>@TempData["StatusMessage"].ToString()</strong>
</div>
}

我尝试在下面的空格后面的消息末尾放置断行,显然这只是写出<br />作为错误消息的一部分。

funcRespCust.ResponseInfoItems[i].Message + " <br />";

我想有一个非常简单的解决方案,以某种方式插入HTML,我似乎找不到...

由于

更新:这有什么理由不赞同吗?似乎是最简单的解决方案,它确实有效。

<strong>@Html.Raw(TempData["StatusMessage"].ToString())</strong>

2 个答案:

答案 0 :(得分:2)

为什么不通过返回错误/字符串列表来正确执行。并按照您的喜好显示它们,而不是控制它们将如何从backemd中消耗。

TempData["StatusMessage"] = new List<string>(); //should be a complex object
for (int i = 0; i < funcRespCust.ResponseInfoItems.Count(); i++)
{
    TempData["StatusMessage"].Add(funcRespCust.ResponseInfoItems[i].Message);
}

@if (@TempData["StatusMessage"].Any())
{
<div class="alert alert-danger">
    <i class="fa fa-frown-o"></i>
<strong>
//loop declaration
{
    @TempData["StatusMessage"][i].ToString() + "<br />
}

</strong>
</div>
}

P.S。我的例子可能需要语法修正。

答案 1 :(得分:0)

使用 @ Html.Raw:

它将渲染您存储在对象中的html

@Html.Raw(COnvert.ToString(TempData["StatusMessage"]))

控制器代码:

[HttpGet]
public ActionResult Index()
{
        TempData["StatusMessage"] = "Sandip";
        TempData["StatusMessage"] += "<br/>";
        TempData["StatusMessage"] += "Patel";
        return View();
}

查看:

@Html.Raw(Convert.ToString(TempData["StatusMessage"]))

<强>输出:

enter image description here