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>) {