2012-05-30 75 views
0

我的ViewModel值顯示字符串的困難我有一個列表:我有從使用剃刀

public List<MyModel> MyModels { get; set; } 

我怎麼會用剃刀語法列表中從一個物體顯示一條信息?

我想要做的事,如:

@Html.Display(MyModel.Select(o => o.objectId = selectedObjectVal).FirstOrDefault().TextThatNeedsDisplayed) 

但是,這並不編譯。我如何正確顯示我想要的信息?

當我使用上面更新的代碼(從下面的答案中檢索)時,我得到以下錯誤:CS1061:'int'不包含'grade'的定義,沒有擴展方法'grade'接受第一個參數可以找到類型'int'(你是否缺少using指令或程序集引用?)。 IntelliSense給了我「比較」,「等於」,「GetHashCode」等選項。 。


更新:

如果我做的ToString())在地方 「TextThatNeedsDisplayed」(和變化從@ Html.Display到@ Html.Raw月底)它返回的數據它正在按字面搜索「o.objectId = selectedObjectVal」中存儲的內容。我不知道這是爲什麼 - 它不應該試圖把整個MyModel變成一個字符串嗎?仍然沒有顯示TextThatNeedsDisplayed。

+0

你有'='你想要== ==的地方。這是在這裏的問題文本只是錯誤,或者是你的代碼中的實際問題? – AakashM

+0

大facepalm。我在這花了大約一個小時。 。 。謝謝。 – Ecnalyr

回答

2

假設您的模型是(視圖)模型的列表,您可以通過多種方式訪問​​一個模型的屬性。

如果該列表是您Razor視圖模式:

@Html.DisplayFor(model => model[0].TextThatNeedsDisplayed) 

或只需選擇從列表中選擇一個對象:

@Html.Display(MyModel.First().TextThatNeedsDisplayed) 

希望我理解你的問題的權利。