私は C#/MVC の比較的初心者であり、長方形の配列を ViewData に渡すとき (そして View ファイル内から内容を表示しようとするとき) に問題に遭遇しました。
私の配列はデータベースクエリから取り込まれています。私が見る限り、それはうまくいきます:
Media [
Images [
[Id (int), Type (int), File (string), Title (string)],
[Id (int), Type (int), File (string), Title (string)],
[Id (int), Type (int), File (string), Title (string)]
]
Videos [
[Id (int), Type (int), File (string), Title (string)],
[Id (int), Type (int), File (string), Title (string)]
]
]
メイン配列 (画像とビデオ) の各半分をコントローラーの個別の ViewData オブジェクトに割り当てています。
ViewData["Images"] = Media.Images.ToArray();
ViewData["Videos"] = Media.Videos.ToArray();
ビューはこれらのオブジェクトが存在することを認識していますが、各配列をループしてビュー内から個々のインデックス (Id、Type、File、Title) にアクセスし、各部分をビューの HTML に追加する方法がわかりません。コード。
1 つのオプションは、コントローラーで HTML を構築することですが、私は本当にそれを避けたいと思っています。
私が間違っているアイデアはありますか?
編集:これが修正です。私を正しい軌道に乗せてくれた皆さんに感謝します:)
コントローラ:
ViewBag.Images = Media.Images;
Web.Config:
<namespaces>
<add namespace="Path.to.Models" />
...
</namespaces>
意見:
str_code = "<ul>";
foreach (Media image in ViewBag.Images)
{
str_code += "<li>" + image.Title + "</li>";
}
str_code += "</ul>";
Response.Write(str_code);