foreach元组列表

时间:2014-11-21 14:43:11

标签: c# asp.net-mvc razor

我有一个静态方法,我想在我的视图中使用razor循环,我不想将数据作为模型发送,我想访问静态方法。

这是我读取CSV文件的方法:

public static List<Tuple<string, string>> ReadAdGroups()
{
    var path = System.Web.HttpContext.Current.Request.MapPath("~/ad-grupper.csv");
    return System.IO.File.ReadAllLines(path, Encoding.GetEncoding("Windows-1252"))
        .Select(x =>
        {
            var s = x.Split(';');
            if (s.Length != 2)
                return null;

            return new Tuple<string, string>(s[0], s[1]);
        })
        .Where(x => x != null)
        .ToList();
}

现在我想使用razor访问这些数据。我添加了include:

@using Portal.HelpMethods;

然后我想在我看来循环它:

<ul class="dropdown-menu" aria-labelledby="themes">
     @foreach (var item in HelpMethods.ReadAdGroups ) {
          @Html(item.Item1)
     }
</ul>

它不起作用,我收到以下错误消息

  

Foreach无法对方法组进行操作。

2 个答案:

答案 0 :(得分:2)

你错过了调用方法的括号:

@foreach (var item in HelpMethods.ReadAdGroups()) {

答案 1 :(得分:1)

我想你在调用你的方法时会忘记括号:

@foreach (var item in HelpMethods.ReadAdGroups() ) {
          @Html(item.Item1)
     }