2

このエラーが発生します-System.InvalidOperationException:列"UserID"は存在しません。

これは私のビューモデルです。

public class UserVM
{
    public int UserID;
    public string Name;
}

これは、コントローラーでの私のアクションメソッドです。

public ActionResult TestGrid()
{
    List<UserVM> rows = new List<UserVM>();
    rows.Add(new UserVM { UserID = 100, Name = "Abc" });
    rows.Add(new UserVM { UserID = 101, Name = "Def" });
    rows.Add(new UserVM { UserID = 102, Name = "Ghi" });
    return View("TestGrid", rows.AsEnumerable());
}

これが私の見解です。

@model IEnumerable<Module.ViewModels.UserVM>
@{
    var grid = new WebGrid(Model);
}

<div>
@grid.GetHtml(
    columns: grid.Columns(
        grid.Column("UserID", header: "User ID"),
        grid.Column("Name", header: "Name")
    )
)
</div>

それでおしまい。エラーが発生する理由はありますか?

4

1 に答える 1

9

UserVMクラスは、プロパティの代わりにフィールドを使用しています。webgridでは動作しません。
プロパティを持つクラスは次のとおりです。

public class UserVM
{
    public int UserID { get; set; }
    public string Name { get; set; }
}
于 2012-05-18T23:26:08.890 に答える