删除foreach循环中字符串的最后一个逗号-HTML/MVC/C#

删除foreach循环中字符串的最后一个逗号-HTML/MVC/C#,c#,html,asp.net-mvc,foreach,iteration,C#,Html,Asp.net Mvc,Foreach,Iteration,我正在用C#做一个MVC项目,我试着在视图部分写这个: @foreach (var item in Model) { string str = "{ y: "; str = str + item.count; str = str + ", lable: ";

我正在用C#做一个MVC项目,我试着在视图部分写这个:

@foreach (var item in Model)
                        {
                                string str = "{ y: ";
                                str = str + item.count;
                                str = str + ", lable: ";
                                str = str + "\"" + item.agency_name + "\"";
                                str = str + "}, ";

                                @Html.Raw(str)

                        }

如您所见,这是我视图中HTML的一部分,我想知道如何省略最后一个逗号。问题是我不知道如何在不使用foreach的情况下迭代模型项。我还试图定义一个计数器,但无法在此范围之外定义一个计数器变量

在我看来,您正在视图中构建json响应。虽然可能,但不是很容易,所以也许你想考虑从控制器直接返回JSON:

public ActionResult Method()
{
    return Json(new {y= item.Count, label=item.Agency.Name});
}
如以下答案所述:


如果我误解了你的问题,我深表歉意

正如我们所看到的,您正在生成可能无效的JSON。请节省一些麻烦,并使用现有的方法来构建它。在没有字符串操作的情况下,正确写出JSON是一件棘手的事情,特别是当你在混合HTML/JavaScript上下文中编写JSON时@techspider它将JSON更加无效-注意OP有对象列表-因此需要用逗号分隔数组中的所有项。@AlexeiLevenkov-对,我没有注意它!!我想知道为什么他需要循环生成JSON!!OP可能需要回到书本上你真正想做的是什么?为什么不从控制器返回
JsonResult
?仅在视图中显示json的目的是什么?