使用viewdata将数据从控制器传递到视图。 [英] passing data from controller to view using viewdata.

查看:218
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆