2010-02-08 27 views
3

在我的控制器我已經設置ViewData.Model和ViewData.Eval

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

凡DbModel之後,是的LINQ到SQL

DBML文件創建和我可以訪問救援人員到場ViewData.Eval("ColumnName")價值,

但如果我創造我自己的類

Class Test{ 

public string Col = "Testing ViewData"; 

} 

Test objTest = new Test(); 

ViewData.Model = objTest; 

現在,如果我試圖讓ViewData.Eval("Col")返回null。

我試圖存儲在ViewData.Model中。

這是什麼問題。

回答

2

您的定義Col是一個字段,而不是屬性。 ViewData.Eval()僅適用於屬性。

0

使用((Test)Model).Col如果您的頁面沒有執行ViewPage<Test>。其他使用Model.Col

+0

我已經實現了相同的東西 – Santhosh 2010-02-08 20:30:40

+2

國際海事組織你真的應該使用強大的視圖模型 – Gregoire 2010-02-08 20:47:03

2

NerdDinner tutorial應該給你一個良好的感覺,這應該是如何工作的。在ASP.NET MVC中通常不使用Eval

ViewData部分應該是您特別感興趣的部分。

+1

'Eval'不是直接使用,但它在許多HTML幫助內部使用。例如,'Html.DropDownList'將使用'ViewData.Eval'來確定ViewData或Model屬性是否對應於正在創建的下拉列表,並且它會自動預先選擇正確的值。所有編輯器生成器都是如此。 – 2010-12-15 02:59:40

相關問題