在 asp.net mvc3 视图中使用关键字

本文关键字:关键字 视图 asp net mvc3 | 更新日期: 2023-09-27 18:30:16

我正在使用MVC3框架来设计一个网站。我从 ms sql 数据库中提取控制器中的数据,表中的一列名为"do"。当我尝试创建一个视图以使用 @Model 关键字(例如:@Model.do)显示信息时,出现错误:

预期的标识符;do 是一个关键字。

我想知道是否有办法在 MVC3 视图中使用列名(这是 c# 中的关键字),或者我只能选择重命名数据库表中的列?

谢谢!!

在 asp.net mvc3 视图中使用关键字

在 C# 中使用任何关键字的方式是用"@"作为前缀。例如,你会经常看到这个

@Html.ActionLink("My Link", "Action", null, new {@class="abc"}) 

将"类"属性添加到"A"标记。 这是合法代码:

class Program
{
    static void Main(string[] args)
    {
        Entity e = new Entity();
        e.@do = 10;
    }
}
class Entity
{
    public int @do
    {
        get;
        set;
    }
}

也是如此

public void DoSomething(int @do)
{
    for (int i = 0; i < @do; i++)
    {
        // process i
    }
}

如果使用 ASPX 作为视图引擎,则可以执行以下操作:

<%= Model.@do %>

在 Razor 视图中,以下内容也有效:

@Html.Raw(Model.@do)

@(@Model.@do)
没有

办法在视图模型(.cs类)中定义变量do

"Error 1 Invalid token 'do' in class, struct, or interface member declaration"

话虽如此,您可以在模型中重新映射,以便将列do映射到字段do_field

public class Entity
{
 [Column("do")]
 public string do_field { get; set; }
}