私は自分のビューから、対応するコントローラによって確立された匿名タイプを取得する必要があります。 this articleによれば、このような能力はC#4.0では 'dynamic'キーワードで可能になります。しかし、私が実際の例を見つけようとすると、その答えはちょっと「is possible」からちょっと「is not possible」にまでわかります。匿名タイプを支援するために「ダイナミック」を使用する
@{
//Currently this next line returns an error saying that
//'object' contains no method 'Count'
int foo = Model.items.Count();
//This 'foreach' works.
foreach(dynamic lineItem in Model.items){
//But this does not work. Gives another "'object' has no definition for 'name'"
<p>@lineItem.name</p> }
}
:静的な型なしで、私の見解は、単にこのようなモデルに達する可能性がある、場合、それはいいだろう要するに
XElement headings = XElement.Parse(part.TagList);
var items = from heading in headings.Descendants("heading")
select new {
name = heading.Attribute("name").Value,
tags = heading.Attribute("tags").Value,
content = shapeHelper.List() //This is a dynamic object!!!
}; //can I add 'as dynamic;' here????
:私の場合は
、私はコントローラがこれを作成してい
可能ですか?
をすべきです作業。私は何らかの理由で私がオブジェクトを何か( 'string'、' int'など)にキャストしなければならないので、MVCビューで 'dynamic'型を使うことに疲れがちです。ビュー( 'ViewBag'を使用している場合でも)。 –
で、わかりやすいmvc-good-practicesの質問をしてください - なぜここではビューモデルを使用しないのが標準的な勧告ですか?なぜ、匿名型は、ビューモデルが人口に集められたり、強く型付けされたり、捕捉された時間エラーをコンパイルしたり、魔法の文字列の問題や誤植などに敏感ではなく、要件になりますか? –