asp.net 剃刀:从数据库中检索数据



我是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>
    }

您没有显示视图模型的确切内容,根据您得到的错误,您似乎根本没有指定它(使用 @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>
}

你正在发送一个空集合,像这样改变你的操作,

我假设您的视图被强键入到链接选项卡列表

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>
} 

最新更新