在mvc razor代码后面循环模型

时间:2013-09-30 15:30:55

标签: asp.net-mvc asp.net-mvc-4 linq-to-sql razor

我正在开发MVC4应用程序,我一度陷入困境,我尝试使用谷歌来帮助我,但没有成功。这可能比我想的更简单,但是来自网络表单并转向mvc有时会“痛苦”。 我试图遍历我的模型并获取存储在该模型中的值。我尝试了几种方法,但每次都会出错。这就是我所拥有的:

var modelAgentFilter = from s in _aa.Agents
                       where s.COUNTER == Convert.ToInt32(AgentID)
                       select s;
if (modelAgentFilter != null)
{                                         
    ViewBag.FirstName = // Get FirstName object here
}

提前感谢您的意见。 Laziale

编辑:

我确实包含了for循环:

   if (modelAgentFilter != null)
                {
                    foreach (var property in modelAgentFilter)
                    {
                        string test = property.ADDRESS;
                    }           
                }

但是当编译器到达foreach步骤时,我收到此错误:“LINQ to Entities无法识别方法'Int32 ToInt32(System.Object)'方法,并且此方法无法转换为存储表达式。”

我可以使用foreach外观获取var模型的属性,但只要编译器尝试循环错误弹出的模型。 再次感谢

1 个答案:

答案 0 :(得分:0)

LINQ to Entities无法识别任何方法。在LINQ表达式中甚至不能使用ToString()。您需要先转换您的值,然后将其添加到LINQ中。

在您的示例中,您需要执行以下操作:

var _agentID = int.Parse(AgentID);

var modelAgentFilter = from s in _aa.Agents
                       where s.COUNTER == _agentID 
                       select s;