我有一個名爲「PlanObjectsViewModel」的視圖模型。我需要在我的while循環中添加結果到PlanObjectsViewModel的一個實例。我嘗試了下面的方法..是那個錯誤?我得到一個異常,稱爲;如何通過viewmodel查看
傳遞到詞典中的模型產品
'MvcApp.ViewModel.PlanObjectsViewModel'
類型的,但是這需要字典類型「System.Collections.Generic.IEnumerable`1 [MvcApp.ViewModel.PlanObjectsViewModel]」的一個模型項。
var model2 = model1.GroupBy(t => t.Type).Select(g => new PlanBaseTypedObjects
{
Id = g.Key,
ObjectDetails = g
});
int Type1 = 0;
int Type2 = 0;
double? temp = 0;
foreach (var item in model2)
{
if(item.Id==1)
Type1 = item.ObjectDetails.Count();
if (item.Id == 2)
Type2 = item.ObjectDetails.Count();
}
Random rand = new Random();
var final = new PlanObjectsViewModel(); // want to add data to this view model
while (budget > temp)
{
if (Type1 != 0) {
int randi = rand.Next(0, Type1);
foreach (var item in model2)
{
if (item.Id == 1) { foreach (var x in item.ObjectDetails) {
if (x.Id == randi)
final.Id = x.Id;// i don't know,whether this is a correct way to
//add data row to the model
temp=temp+x.Price;
}
}
}
}
if (Type2 != 0)
{
int randi = rand.Next(0, Type2);
foreach (var item in model2)
{
if (item.Id == 2)
{
foreach (var x in item.ObjectDetails)
{
if (x.Id == randi)
final.Id = x.Id;
temp = temp + x.Price;
}
}
}
}
}
return View(model1);
在我看來,我有;
@model IEnumerable<MvcApp.ViewModel.PlanObjectsViewModel>
任何人都可以解釋爲什麼?如果我這樣做是錯誤的,最好的辦法是什麼?謝謝。
是什麼類型MODEL1?錯誤表示這是一個單一的值,而不是可枚舉的。 –
如果您最終將'model1'傳遞給視圖,那麼使用'model2'進行循環和計算有什麼意義? – ekad
對不起! final是一個傳遞給view..not model1 –