1

MVC3 フレームワークを使用して Web サイトを設計しています。ms sqlデータベースからコントローラーのデータを取得すると、テーブルの列の1つに「do」という名前が付けられます。@Model キーワード (例: @Model.do) を使用して情報を表示するビューを作成しようとすると、エラーが発生します。

識別子が必要です。do はキーワードです。

MVC3 ビューで列名 (c# のキーワード) を使用する方法があるかどうかを知りたいですか、それともデータベース テーブルの列の名前を変更することしかできませんか?

ありがとうございました !!

4

2 に答える 2

2

C# でキーワードを使用する方法は、先頭に「@」を付けることです。たとえば、これはよく見かけます

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

「a」タグに「class」属性を追加します。これは正当なコードです:

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)
于 2012-04-06T06:01:38.470 に答える
1

doビューモデル (.cs クラス) 内で変数を定義する方法はありません。

"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; }
}
于 2012-04-05T21:35:15.443 に答える