C# Razor代码块,Can';t访问局部变量

C# Razor代码块,Can';t访问局部变量,c#,asp.net-mvc,razor,asp.net-mvc-4,C#,Asp.net Mvc,Razor,Asp.net Mvc 4,我只是想访问一个变量,一个我刚刚在上面一行中创建的变量,但我做不到 @{ public class url { public string href; public string title; } List<url> urls = new List<url>(); urls. } @{ 公共类url { 公共字符串href; 公共字符串标题; } 列表URL=新列表(); 网址。 } 当我尝

我只是想访问一个变量,一个我刚刚在上面一行中创建的变量,但我做不到

@{
    public class url
    {
        public string href;
        public string title;   
    }
    List<url> urls = new List<url>();
    urls.
}
@{
公共类url
{
公共字符串href;
公共字符串标题;
}
列表URL=新列表();
网址。
}

当我尝试执行
url.Add()
时,它会说,“…URL是一个“字段”,但却像“类型”一样使用”

试试这个:-但我不认为在Razor模板中定义类是一个好主意。您应该在类文件中定义它,并将其用作模型或使用
using
命名空间

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

}
@{

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

    urls.Add(new url());
}
@函数{
公共类url
{
公共字符串href;
公共字符串标题;
}
}
@{
列表URL=新列表();
添加(新url());
}

打得好,这很有效。我不知道@functions块。我会在2分钟内接受。没问题。。但请记住@function的主要目的是定义可重用代码,如在模板中定义属性、方法等。。我也从未尝试过在内部定义一个类,因为它的目的不是……谢谢,我只是想看看我是否能做到。我可能不会在生产中使用它。理论上可能,但请通读一遍,如果可能的话,尝试在项目中将它定义为类文件,并在视图中使用它。