C# 在foreach循环的viewbag中显示列表中的项目
我在C# 在foreach循环的viewbag中显示列表中的项目,c#,asp.net,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc 4,我在ViewBag中的列表为ViewBag.allteacherlist。我想在foreach循环中显示它的元素。我做了如下工作: <table> @foreach (var item in ViewBag.allteacherlist as List <TEAMS_PP.Data.TeacherEval>) { <tr><td> @it
ViewBag
中的列表为ViewBag.allteacherlist
。我想在foreach
循环中显示它的元素。我做了如下工作:
<table>
@foreach (var item in ViewBag.allteacherlist
as List <TEAMS_PP.Data.TeacherEval>)
{
<tr><td> @item.AllTechersList() </td> </tr>
}
</table>
ViewBag
是动态的,并且还存储对象<代码>对象s。在使用列表之前,需要将其强制转换为原始类型
<table>
@foreach (var item in ViewBag.allteacherlist
as List <TEAMS_PP.Data.TeacherEval>)
{
<tr><td> @item.AllTechersList() </td> </tr>
}
</table>
@foreach(ViewBag.allteacherlist中的变量项
(如列表所示)
{
@item.AllTechersList()
}
正如@MainMa在他的回答中所指出的,您需要在cast中指定正确的类型,否则在使用
As
关键字时将得到null
。在您的控制器中,您正在创建一个类型为List
的对象,但在您的视图中,您正在尝试获取类型为TEAMS\u PP.Data.TeacherEval
的对象。as
强制转换结果为null
视图包是动态的,并且存储对象<代码>对象s。在使用列表之前,需要将其强制转换为原始类型
<table>
@foreach (var item in ViewBag.allteacherlist
as List <TEAMS_PP.Data.TeacherEval>)
{
<tr><td> @item.AllTechersList() </td> </tr>
}
</table>
@foreach(ViewBag.allteacherlist中的变量项
(如列表所示)
{
@item.AllTechersList()
}
正如@MainMa在他的回答中所指出的,您需要在cast中指定正确的类型,否则在使用
As
关键字时将得到null
。在您的控制器中,您正在创建一个类型为List
的对象,但在您的视图中,您正在尝试获取类型为TEAMS\u PP.Data.TeacherEval
的对象。as
强制转换结果为null
视图包是动态的,并且存储对象<代码>对象s。在使用列表之前,需要将其强制转换为原始类型
<table>
@foreach (var item in ViewBag.allteacherlist
as List <TEAMS_PP.Data.TeacherEval>)
{
<tr><td> @item.AllTechersList() </td> </tr>
}
</table>
@foreach(ViewBag.allteacherlist中的变量项
(如列表所示)
{
@item.AllTechersList()
}
正如@MainMa在他的回答中所指出的,您需要在cast中指定正确的类型,否则在使用
As
关键字时将得到null
。在您的控制器中,您正在创建一个类型为List
的对象,但在您的视图中,您正在尝试获取类型为TEAMS\u PP.Data.TeacherEval
的对象。as
强制转换结果为null
视图包是动态的,并且存储对象<代码>对象s。在使用列表之前,需要将其强制转换为原始类型
<table>
@foreach (var item in ViewBag.allteacherlist
as List <TEAMS_PP.Data.TeacherEval>)
{
<tr><td> @item.AllTechersList() </td> </tr>
}
</table>
@foreach(ViewBag.allteacherlist中的变量项
(如列表所示)
{
@item.AllTechersList()
}
正如@MainMa在他的回答中所指出的,您需要在cast中指定正确的类型,否则在使用As
关键字时将得到null
。在您的控制器中,您正在创建一个类型为List
的对象,但在您的视图中,您正在尝试获取类型为TEAMS\u PP.Data.TeacherEval
的对象。as
强制转换结果是null
在可能的情况下将值转换为给定类型,否则将null
转换为给定类型。声明:
var result = originalValue as SpecificType;
类似于:
var result = originalValue is SpecificType ? (SpecificType)originalValue : null;
如果ViewBag.allteacherlist
不是类型List
或继承自List
的类型,您将得到一个null
,这将导致“对象未设置为对象的引用”异常
请记住,例如,集合(Collection
)不会从列表继承。另一方面,处理的大多数集合都实现IEnumerable
。除非使用列表的特定功能,否则请使用IEnumerable
。尽可能允许。在可能的情况下将值转换为给定类型,否则将null
转换为给定类型。声明:
var result = originalValue as SpecificType;
类似于:
var result = originalValue is SpecificType ? (SpecificType)originalValue : null;
如果ViewBag.allteacherlist
不是类型List
或继承自List
的类型,您将得到一个null
,这将导致“对象未设置为对象的引用”异常
请记住,例如,集合(Collection
)不会从列表继承。另一方面,处理的大多数集合都实现IEnumerable
。除非使用列表的特定功能,否则请使用IEnumerable
。尽可能允许。在可能的情况下将值转换为给定类型,否则将null
转换为给定类型。声明:
var result = originalValue as SpecificType;
类似于:
var result = originalValue is SpecificType ? (SpecificType)originalValue : null;
如果ViewBag.allteacherlist
不是类型List
或继承自List
的类型,您将得到一个null
,这将导致“对象未设置为对象的引用”异常
请记住,例如,集合(Collection
)不会从列表继承。另一方面,处理的大多数集合都实现IEnumerable
。除非使用列表的特定功能,否则请使用IEnumerable
。尽可能允许。在可能的情况下将值转换为给定类型,否则将null
转换为给定类型。声明:
var result = originalValue as SpecificType;
类似于:
var result = originalValue is SpecificType ? (SpecificType)originalValue : null;
如果ViewBag.allteacherlist
不是类型List
或继承自List
的类型,您将得到一个null
,这将导致“对象未设置为对象的引用”异常
请记住,例如,集合(Collection
)不会从列表继承。另一方面,处理的大多数集合都实现IEnumerable
。除非使用列表的特定功能,否则请使用IEnumerable
。请尽可能地允许。您是否可以添加相关代码,以便将列表存储在视图包中
?我有一种预感,这个问题来自于施法(as
当你不能正确施法时会给你null
)。请看一下,你能添加相关代码吗