2014-11-21 3 views
0

У меня есть статический метод, который я хочу пропустить в моем представлении с помощью бритвы, я не хочу отправлять данные в качестве модели, я хочу получить доступ к статическому методу.foreach Список кортежей

Это мой метод, который читает файл 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(); 
} 

Теперь я хочу, чтобы получить доступ к этой информации с помощью бритвы. Я добавил включают в себя:

@using Portal.HelpMethods; 

Тогда я хочу, чтобы цикл через него, на мой взгляд:

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

Это не работает, я получаю ниже сообщение об ошибке

Foreach не может работать на группе методов.

ответ

2

Вы пропустили скобки вызова метода:

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

Спасибо, я должен был заметить это ... –

1

Я думаю, вы забыли скобки при вызове вашего метода:

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