在asp.net剃刀的foreach使用IEnumerable的变量循环
问题描述:
我声明我的变量与此代码在asp.net剃刀的foreach使用IEnumerable的变量循环
IEnumerable<object> Update_Select_Result= null;
以及与此
Update_Select_Result = DB.Query(CMD_Select, Request["UpdateID"]);
,但我怎么能在的foreach使用这个变量赋值?
答
首先,如果可能的话,应该使用比对象更类型的其他类型。构建一个特定的类来镜像你的返回输出并将其包装在List中。
public class ReturnType
{
public int UpdateId { get; set; }
public string WhateverString { get; set; }
}
List<ReturnType> Update_Select_Result = null;
Update_Select_Result = DB.Query(CMD_Select, Request["UpdateID"]);
请注意,您可能必须修改您的数据访问权限。另一种选择是从数据库返回时构造一个新对象。
在你的剃须刀视图的顶部,指定型号的新类型现在,你有你的分配模式
@model List<ReturnType>
,您可以直接与“模型”来访问它。在你的剃刀语法中,迭代集合并执行你需要的任何魔法。
@foreach (var x in Model)
{
// do whatever you need with each member of Model (List<ReturnType>),
// represented by x
}
是否有一个特定的原因,你需要迭代IEnumerable
foreach(Updrate_Select_Result中的对象x){...}但不使用对象 – Exceptyon
@DavidL我想将“Update_Select_Result”赋给null,因为我将此变量用于程序的所有部分,因此此变量必须在代码顶部,有时分配选择SQL查询。我使用这些代码,但如果你有更好的解决方案请帮助我。 – Hamid