Asp.net mvc 使用@foreach查看

Asp.net mvc 使用@foreach查看,asp.net-mvc,razor,Asp.net Mvc,Razor,我有这个: 视图: @使用Multitask.Regenboog.Medicijnverstrekking.Domain @使用Multitask.Regenboog.Medicijnverstrekking.WebApplication.ViewModels.FAQ @模型概述模型 @{ ViewBag.Title=“Index”; } 支持 @使用(Html.BeginForm(“SaveFaq”、“FAQ”、FormMethod.Post)) { @* 你好 你好 *@ @LabelFo

我有这个:

视图:

@使用Multitask.Regenboog.Medicijnverstrekking.Domain
@使用Multitask.Regenboog.Medicijnverstrekking.WebApplication.ViewModels.FAQ
@模型概述模型
@{
ViewBag.Title=“Index”;
}
支持
@使用(Html.BeginForm(“SaveFaq”、“FAQ”、FormMethod.Post))
{
@*
你好
你好
*@

@LabelFor(model=>model.SelectedCategoriedFaqId,“Kies een Categorie:”)
@Html.DropDownListFor(x=>x.SelectedCategoriedFaqId,Model.FAQCategorieItems,“Selecteer-een-Categorie”)


@LabelFor(model=>model.EmailBericht,“Kies een Onderwerp:”) @*een onderwerp model.EmailBericht,“Bericht:”) @Html.TextAreaFor(x=>x.EmailBericht)

@LabelFor(model=>model.AfzenderNaam,“Afzender:”) @Html.TextBoxFor(x=>x.AfzenderNaam)

@LabelFor(model=>model.TelefoonNr,“电话:”) @Html.TextBoxFor(x=>x.TelefoonNr)

@Html.TextBoxFor(x=>x.Vraag)

Zoek een vraag:@Html.TextBox(“搜索字符串”)

} @ActionLink(“姓氏”,“索引”,新的{sortOrder=ViewBag.NameSortParm,currentFilter=ViewBag.currentFilter}) 名字 @ActionLink(“注册日期”,“索引”,新{sortOrder=ViewBag.DateSortParm,currentFilter=ViewBag.currentFilter}) @foreach(模型中的var项目){ @DisplayFor(modelItem=>item.Vraag) @DisplayFor(modelItem=>item.Antwoord) }
@*@Model.PageCount的@页(Model.PageCountUrl.Action(“索引”), 新建{page,sortOrder=ViewBag.CurrentSort,currentFilter=ViewBag.currentFilter})*@ @节脚本 { @Scripts.Render(“~/bundles/jquery”) @Scripts.Render(“~/bundles/Form”) @Scripts.Render(“~/bundles/jqueryval”) @Scripts.Render(“~/Bundles/Q”) @Scripts.Render(“~/Bundles/moment”) @Scripts.Render(“~/bundles/Utils”) @Scripts.Render(“~/bundles/jqueryui”) 函数AddToCart(id){ $.ajax({ url:“/Medicijnverstrekking/FAQ/SaveFaq/”, 数据:{id:id}, 成功:函数(){ 警报(“添加”); } }); } $(文档).ready(函数(){ $(“#SelectedCategoriedFaqId”).change(函数(){ $.ajax({ url:“/Medicijnverstrekking/FAQ/SubCategorie/”, 键入:“POST”, 数据类型:“json”, 数据:{ Categorieid:这个.value }, 成功:功能(数据){ //$('SelectedCategoriedFaqId').val('').remove(); //警报(“数据检索成功”); var项目=”; $('#FaqCategorie_Id').empty(); $。每个(数据、函数(i、val){ 变量opt=$(“”) .attr(“值”,val.value) .文本(val.text); $('#FaqCategorie_Id')。附加(opt); }); }, 错误:函数(xhr){ 警惕(“似乎有什么不对劲”); } }); }); }); }
但我得到了这个错误:

foreach语句无法对“Multitask.Regenboog.Medicijnverstrekking.WebApplication.ViewModels.FAQ.FaqOverviewModel”类型的变量进行操作,因为“Multitask.Regenboog.Medicijnverstrekking.WebApplication.ViewModels.FAQ.FaqOverviewModel”不包含“GetEnumerator”的公共定义c:\Projects\Multitask.Regenboog.Medicijnverstrekking trunk\WebApplication\Views\FAQ\Index.cshtml 80 6 WebApplication(WebApplication\WebApplication)

你有

@foreach (var item in Model) {
    <tr>

        <td>
            @Html.DisplayFor(modelItem => item.Vraag)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Antwoord)
        </td>

    </tr>
}
@foreach(模型中的变量项){
@DisplayFor(modelItem=>item.Vraag)
@DisplayFor(modelItem=>item.Antwoord)
}
然而,您的FAQ概览模型ViewModel并不是实现IEnumerable(列表等)的东西

@foreach(模型中的var项)
应该是
@foreach(模型中的var项。SomeCollectionOfThings)
?(其中SomeCollectionOfThings是具有
Vraag
Antwoord
属性的对象的
列表属性)

尝试以下操作:

@model FaqOverviewModel
...
...
@foreach (var item in IEnumerable<Model>) {
@model常见问题解答概述model
...
...
@foreach(IEnumerable中的变量项){

这是因为该类型不是列表,因此foreach无法处理它。您正在尝试迭代您的模型,但您的模型不是集合。@savantKing能否发布您的FAQ概述模型类,以便我可以查看结构以及Vraag和Antwoord属性来自的类?@savantKing,检查我的答案。试试看然后看看它是否工作谢谢。但是我得到了这个错误:错误7'System.Web.Mvc.WebViewPage.Model'是一个'property',但使用起来像'type'c:\Projects\Multitask.Regenboog.MedicijnVerstreking trunk\WebApplication\Views\FAQ\Index.CSHTML80 38 WebApplication(WebApplication\WebApplication)抱歉@savantKing,我以为这样可以解决问题。我不知道怎么解决
@model FaqOverviewModel
...
...
@foreach (var item in IEnumerable<Model>) {