次の Razor スクリプトを使用してループしていますが、次のエラーが発生します。
@foreach (var item in ViewBag.Articles)
{
<div>@item.Title</div>
}
エラー:
説明: この要求を処理するために必要なリソースのコンパイル中にエラーが発生しました。次の特定のエラーの詳細を確認し、ソース コードを適切に変更してください。
コンパイラ エラー メッセージ: BC30451: 'foreach' が宣言されていません。保護レベルにより、アクセスできない場合があります。
ソース エラー:
29 行目: 記事 30 行目: 31 行目: @foreach (ViewBag.Articles の var item) 32 行目: { 33 行目:
@(アイテム.インデックス). @item.model.Descriptionソース ファイル: C:\Users\darchual\documents\visual studio 2010\Projects\Blog\Blog\Views\Blog\Details.vbhtml 行: 31
また、私の IDE では、「'foreach' が宣言されていません。保護レベルのためにアクセスできない可能性があります」と表示されます。
コレクションをループするにはどうすればよいですか? ご協力ありがとうございました。
編集:
コード全体は次のとおりです。
@ModelType ブログ.ブログ
@Code ViewData("Title") = ViewBag.Title 終了コード
詳細
ブログ
<div class="display-label">name</div> <div class="display-field"> @Html.DisplayFor(Function(model) model.name) </div> <div class="display-label">description</div> <div class="display-field"> @Html.DisplayFor(Function(model) model.description) </div> <div class="display-label">dateCreated</div> <div class="display-field"> @Html.DisplayFor(Function(model) model.dateCreated) </div> </fieldset>
記事
@foreach (var item in ViewBag.Articles) { <div>@item.Title</div> }
@Html.ActionLink("Edit", "Edit", New With {.id = Model.BlogId}) | @Html.ActionLink("Back to List", "Index") </p>
ブログ オブジェクトは次のとおりです。
インポート System.Data.Entity インポート System.ComponentModel.DataAnnotations
公開クラスのブログ
Public Property BlogId() As Integer Public Property Name() As String Public Property Description() As String Public Property DateCreated As Date Public Overridable Property Articles() As ICollection(Of Article)
クラス終了
Public クラス BlogDbContext
Inherits DbContext Public Property Blogs As DbSet(Of Blog)
クラス終了
編集:
最後にそれを機能させました。作業コードは次のとおりです。
@For Each item In ViewBag.Articles
@<div>@item.Title</div>
Next