2013-04-27 2 views
0

Я просто пытаюсь получить доступ к переменной, которую я только что создал в строке выше, и я не могу этого сделать!Блок кода бритвы, не может получить доступ к локальной переменной

@{ 
    public class url 
    { 
     public string href; 
     public string title; 
    } 
    List<url> urls = new List<url>(); 
    urls. 
} 

Когда я пытаюсь сделать urls.Add() он говорит, "... URLs это 'поле', но используется как 'типа'"

ответ

1

Try это: - Но я dont't подумайте, стоит ли определять классы внутри шаблона Razor. Вы должны определить его в файле класса и использовать его в качестве модели или использовать пространство имен using .

@functions { 
    public class url 
    { 
     public string href; 
     public string title; 
    } 

} 
@{ 

    List<url> urls = new List<url>(); 

    urls.Add(new url()); 
} 
+0

Хорошо, это работает. Я не знал о блоке @functions. Примут через 2 минуты. – user1477388

+1

Нет проблем. Но помните, что основная цель @function - определить многоразовый код, например, определить свойства, методы и т. Д. В шаблоне. Я также никогда не пробовал определять класс внутри мысли, его цель не в том, что ... – PSL

+1

Спасибо, я просто видел, могу ли я это сделать. Я, вероятно, не буду использовать это в производстве. – user1477388

Смежные вопросы