【问题标题】:Creating a CSV string in Razor foreach在 Razor foreach 中创建 CSV 字符串
【发布时间】:2017-03-21 21:41:31
【问题描述】:

我正在尝试将多个页面 ID 解析为 Umbraco Razor 中的 cookie。

我有这段代码

@{ 
    var siteroot = Model.AncestorOrSelf(1);
    HttpCookie eventCookie = new HttpCookie("eventCookie");
}

@foreach (var child in siteroot.Descendants("Event").OrderBy("Date"))
{
    if (DateTime.Today <= child.Date)
    {
        @RenderPage("~/macroscripts/RenderEventBox.cshtml", child, false)
    }
}

@{
    Response.Cookies.Add(eventCookie);
}

我想做的是在 foreach 中创建一个带有页面 ID 的 CSV 字符串。

然后应将页面 ID 插入到 cookie 中,我可以在其中检查自用户上次访问以来的新 ID - 以获得“这是自您上次访问以来的新页面”功能。

但我不知道该怎么做。

我想要的结果应该是这样的

2525,4587,4789,4790,5858,5782,7899

然后我可以将其放入 cookie 中。

【问题讨论】:

  • 您有什么理由想在 razor 中执行此操作,而不是在您创建模型并将其传递给视图的控制器操作中?
  • 主要原因是我不是后端开发人员,所以不要进行复杂的编程:-) 我也可能过于复杂了。

标签: c# asp.net-mvc razor foreach httpcookie


【解决方案1】:

解决起来很简单

@{
  var csv = "";
}

@foreach (var child in siteroot.Descendants("Event").OrderBy("Date"))
{
  csv += "," + @child.Id;
}

【讨论】:

    猜你喜欢
    • 2012-07-12
    • 2015-01-22
    • 1970-01-01
    • 2012-09-20
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 2020-09-29
    相关资源
    最近更新 更多