ViewData.Model和ViewData.Eval

时间:2010-02-08 20:03:57

标签: asp.net-mvc model-view-controller

在我的控制器中,我一直在设置

ViewData.Model = DBModel.Table.Take(1).Single();

DBModel由Linq-to-SQL的DBML文件创建

我可以访问Value thro'ViewData.Eval("ColumnName")

但是如果我创建自己的类

Class Test{

public string Col = "Testing ViewData";

}

Test objTest = new Test();

ViewData.Model = objTest;

现在如果我试图让ViewData.Eval("Col")返回null。

我试图存储在ViewData.Model中。

这就是问题所在。

3 个答案:

答案 0 :(得分:2)

NerdDinner tutorial应该让你对这一切都应该如何运作有一个很好的感觉。 ASP.NET MVC中通常不使用Eval

ViewData部分应该是您特别感兴趣的。

答案 1 :(得分:2)

Col 的定义是字段,而不是属性。 ViewData.Eval()仅适用于属性。

答案 2 :(得分:0)

如果您的网页未实现((Test)Model).Col,请

使用ViewPage<Test>。否则使用Model.Col