在asp.net剃刀的foreach使用IEnumerable的变量循环

问题描述:

我声明我的变量与此代码在asp.net剃刀的foreach使用IEnumerable的变量循环

IEnumerable<object> Update_Select_Result= null; 

以及与此

Update_Select_Result = DB.Query(CMD_Select, Request["UpdateID"]); 

,但我怎么能在的foreach使用这个变量赋值?

+0

是否有一个特定的原因,你需要迭代IEnumerable 而不是List ?另外,问题的Razor部分在哪里? –

+0

foreach(Updrate_Select_Result中的对象x){...}但不使用对象 – Exceptyon

+0

@DavidL我想将“Update_Select_Result”赋给null,因为我将此变量用于程序的所有部分,因此此变量必须在代码顶部,有时分配选择SQL查询。我使用这些代码,但如果你有更好的解决方案请帮助我。 – Hamid

首先,如果可能的话,应该使用比对象更类型的其他类型。构建一个特定的类来镜像你的返回输出并将其包装在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 

}