使用viewdata将数据从控制器传递到视图。 [英] passing data from controller to view using viewdata.
本文介绍了使用viewdata将数据从控制器传递到视图。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望tp传递3个viewData变量(
ViewData [onGoing]
,
viewData [coming]
,
viewData [completed]
)从控制器查看
控制器中的
:
列表< 产品 > onGoingList = new List < product > ();
列表< 产品 > upComingList = new List < product > < /跨度>();
列表< 产品 > completedList = new List < product > ();
i将记录列入onGoingList.add()
ViewData [onGoing] = onGoingList;
viewData [coming] = upComingList;
viewData [completed] = completedList;
返回视图();
i希望将这3个listes传递到一个视图。
i在视图中尝试:
@model IEnumerable< ; Mvcsample.Model.product>
@ {
ViewBag.Title =Index;
var prod =(product)ViewData [onGoing];
}
@ prod.productID
< h1> @ prod.productName< / h1>
找不到类型或命名空间名称'product'(您是否缺少using指令或程序集引用?)
解决方案
首先看
ViewData [ onGoing ] 取List< product>()
所以你需要转换列表类型产品 class
@ {
ViewBag.Title = 索引;
var prod =( List< mvcproduct.model.product>)< / mvcproduct.model.product > ViewData [ onGoing];
}
并检查您的MvcProduct应用程序名称
< / product >
使用类的完整路径,如'ProjectName.Models.Product'或使用View之类的名称,如'@using ProjectName.Model。'
var prod =(List< mvcsample.model.product> )计算机[ 正在进行];
i want tp pass 3 viewData variables (
ViewData["onGoing"]
,
viewData["upcoming"]
,
viewData[" completed"]
) from controller to view
in controller:
List<product> onGoingList = new List<product>();
List<product> upComingList = new List<product>();
List<product> completedList = new List<product>();
i addes records to list by onGoingList.add()
ViewData["onGoing"] = onGoingList;
viewData["upcoming"]=upComingList;
viewData[" completed"]= completedList;
return view();
i want to pass these 3 listes to one view.
i tried in view:
@model IEnumerable<Mvcsample.Model.product>
@{ ViewBag.Title = "Index"; var prod = (product)ViewData["onGoing"]; } @prod.productID <h1>@prod.productName</h1>
The type or namespace name 'product' could not be found (are you missing a using directive or an assembly reference?)
解决方案
First See ViewData["onGoing"] is taking List<product>() So you need to conver list type product class @{ ViewBag.Title = "Index"; var prod = (List<mvcproduct.model.product>)</mvcproduct.model.product>ViewData["onGoing"]; } And check your MvcProduct application name </product>
Use the full path of the class like 'ProjectName.Models.Product' or use the name on top of View like '@using ProjectName.Model.'
var prod = (List<mvcsample.model.product>)ViewData["onGoing"];
这篇关于使用viewdata将数据从控制器传递到视图。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文