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