asp.net razor:从数据库中检索数据

时间:2012-08-09 17:59:41

标签: asp.net asp.net-mvc

我是MVC框架的新手。我的查询是我必须从数据库sql中接收数据  数据库。并以.cshtml显示  .plz帮助....

  public ActionResult Index()
    {
        var model = (from p in am.AMS_Page_Accesses
                     where p.Role_id == "m"
                     select new {
                      p.Name,
                      p.Id,
                      p.Link
                      }).ToList();
        var  abc= new linkname
          {    

          }  

       return View(abc);
    }

模型

public class linktab
    {            
        public  string id { get; set; }
        public  string Name { get; set; }
        public string link { get; set; }    
    }
    public class linkname
    {
        public List<linktab> menu { get; set; }
    }

在.cshtml中

 @foreach (var a in Model)
    {
     <div>a.Name</div>
     <div>a.Id</div>
     <div>a.Link</div>
    }

2 个答案:

答案 0 :(得分:0)

你没有显示你的视图模型究竟是什么,根据你得到的错误,似乎你根本没有指定它(使用@model指令)。

试试这个

public ActionResult Index()
{
    var model = (from p in am.AMS_Page_Accesses
                 where p.Role_id == "m"
                 select new linktab
                 {
                     Id = p.Id,
                     Link = p.Link,
                     Name = p.Name
                 }).ToList();

    var abc = new linkname
    {
        menu = model
    }  

    return View(abc);
}

在您看来:

@model linkname


@foreach (var a in Model.menu)
{
   <div>a.Name</div>
   <div>a.Id</div>
   <div>a.Link</div>
}

答案 1 :(得分:0)

你发送一个空集合改变你的行动,

我假设你的观点是强烈输入链接列表的列表

public ActionResult Index()
{
    var model = (from p in am.AMS_Page_Accesses
                 where p.Role_id == "m"
                 select new linktab{
                  Name = p.Name,
                  id = p.Id,
                  link = p.Link
                  }).ToList();

   return View(model);
}

如果不是这种情况,而且你的模型是类链接名称的强类型,那么你应该像这样做

public ActionResult Index()
{
    var model = (from p in am.AMS_Page_Accesses
                 where p.Role_id == "m"
                 select new linktab{
                  Name = p.Name,
                  id = p.Id,
                  link = p.Link
                  }).ToList();
    linkname abc= new linkname
    {    
       menu = model
    }  
   return View(abc);
}

您可以在视图中更改此类代码

@foreach (var a in Model.menu)
{
    <div>a.Name</div>
    <div>a.Id</div>
    <div>a.Link</div>
}