C# 如何在MVC中显示数据库中的表?
我有一个从数据库构建的类,名为C# 如何在MVC中显示数据库中的表?,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个从数据库构建的类,名为RSS\u Head。它的属性之一是指向rss提要的url。我想在表格中显示链接 @using Pgsrssreader.Models @model Pgsrssreader.Models.RSS_Head <table> @{RSS_Head rsshead = new RSS_Head();} <tr> <th>@Html.LabelFor(m
RSS\u Head
。它的属性之一是指向rss提要的url。我想在表格中显示链接
@using Pgsrssreader.Models
@model Pgsrssreader.Models.RSS_Head
<table>
@{RSS_Head rsshead = new RSS_Head();}
<tr>
<th>@Html.LabelFor(model => rsshead.SUrl)</th>
</tr>
编辑:解决方案
我最终在共享视图中创建了一个帮助器类:
public class Rsshelper
{
private Rss_DevEntities _db = new Rss_DevEntities();
public List<RSS_Head> Feeds()
{
List<RSS_Head> rss_head = new List<RSS_Head>();
rss_head = _db.RSS_Head.ToList();
return (rss_head);
}
}
公共类Rsshelper
{
私有Rss_-DevEntities _-db=新Rss_-DevEntities();
公共列表提要()
{
列表rss_head=新列表();
rss_head=_db.rss_head.ToList();
返回(rss_头);
}
}
然后我写了
@{
List<RSS_Head> rsslist = new List<RSS_Head>();
Rsshelper rsshelper = new Rsshelper();
rsslist = rsshelper.Feeds();
}
<table>
@{if (rsslist != null)
{
foreach (var item in rsslist)
{
<tr>
<td>
@item.SUrl
</td>
</tr>
@{
List rsslist=新列表();
Rsshelper Rsshelper=新的Rsshelper();
rsslist=rsshelper.Feeds();
}
@{if(rsslist!=null)
{
foreach(rsslist中的var项目)
{
@项目1.SUrl
显示URL。可能有更好的解决方案,所以请随意改进我的:)主要是实体框架是此类操作的最佳方法 首先抓取列表中的数据库记录。您可以在模型中提到这一点 型号:
public IEnumerable<modelname> AnyName{get; set;}
Public ActionResult Youaction()
{
modelclass yourmodel= new modelclass();
yourmodel.AnyName=Fun1();
}
public IEnumerable<modelName> Fun1()
{
databaseclass dbobj1= new databaseclass();
tableclass tbl= new tableclass();
modelName yourmodel= new modelName();
return(var v in dbobj1.table1 select new model
modelproperty1=v.tablevalue1,
.,
.,
modelpropertyforUrl=v.tablevalueForUrl
).ToList();
}
<table>
@foreach(var item in AnyName)
{
<tr>
<td>@item.modelpropertyforUrl</td>
</tr>
}
</table>
public IEnumerable AnyName{get;set;}
逻辑代码(控制器):
public IEnumerable<modelname> AnyName{get; set;}
Public ActionResult Youaction()
{
modelclass yourmodel= new modelclass();
yourmodel.AnyName=Fun1();
}
public IEnumerable<modelName> Fun1()
{
databaseclass dbobj1= new databaseclass();
tableclass tbl= new tableclass();
modelName yourmodel= new modelName();
return(var v in dbobj1.table1 select new model
modelproperty1=v.tablevalue1,
.,
.,
modelpropertyforUrl=v.tablevalueForUrl
).ToList();
}
<table>
@foreach(var item in AnyName)
{
<tr>
<td>@item.modelpropertyforUrl</td>
</tr>
}
</table>
Public ActionResult Youaction()
{
modelclass yourmodel=新的modelclass();
yourmodel.AnyName=Fun1();
}
公共IEnumerable Fun1()
{
databaseclass dbobj1=新的databaseclass();
tableclass tbl=新的tableclass();
modelName yourmodel=newmodelname();
返回值(dbobj1.table1中的var v选择新模型
modelproperty1=v.tablevalue1,
.,
.,
modelpropertyforUrl=v.tablevalueForUrl
).ToList();
}
您的观点:
public IEnumerable<modelname> AnyName{get; set;}
Public ActionResult Youaction()
{
modelclass yourmodel= new modelclass();
yourmodel.AnyName=Fun1();
}
public IEnumerable<modelName> Fun1()
{
databaseclass dbobj1= new databaseclass();
tableclass tbl= new tableclass();
modelName yourmodel= new modelName();
return(var v in dbobj1.table1 select new model
modelproperty1=v.tablevalue1,
.,
.,
modelpropertyforUrl=v.tablevalueForUrl
).ToList();
}
<table>
@foreach(var item in AnyName)
{
<tr>
<td>@item.modelpropertyforUrl</td>
</tr>
}
</table>
@foreach(AnyName中的var项)
{
@item.modelpropertyforUrl
}
您的模型RSS\u Head
看起来不像是一个支持枚举的列表
实现。没错,它不是一个列表。如果它不是一个列表或任何可以枚举的数据结构,您就不能用foreachWell循环它,它应该是一个引用IEnumerable
接口的集合。或者像List
foreach
这样的现成集合只能在可枚举的集合上重复。好吧……我猜您使用的是类似于Linq2SQL的东西,然后您应该对数据库执行一个查询,并用它填充一个IEnumerable,然后您可以迭代该集合