asp.net mvc同一个view展示多个不同列表思路

本文介绍如何在ASP.NET MVC中通过一个视图模型整合并展示来自多个表的数据。利用自定义的强类型视图模型,可以方便地从不同表中获取数据并在视图中展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

asp.net mvc一个模型一个view容易展示,可是遇到像首页那样,要同时调用好几个不同表的内容一小部分展示时,该怎么是好呢?

下边根据我的测试,用的是mvc access数据测试

先建立一个强类型 类文件lview(文件名自定)

public class lview
{
public List<Article> articles { get; private set; }
public List<Article> articles2 { get; private set; }

public lview(List<Article> larticles, List<Article> lartlist2s)
{
this.articles = larticles;
this.articles2 = lartlist2s;
}
}

 

类Article

public class Article
{
public string title { get; set; }
public string neirong { get; set; }
}

 

控制器读取index

List<Article> articles = new List<Article>();
List<Article> articles2 = new List<Article>();
// GET: Articleadd
public ActionResult Index()
{
DB mydb = new DB(); //数据库类文件自己写,连接access
OleDbDataReader dr=mydb.GetdataReader("select top 5 * from article");
while (dr.Read())
{
Article article = new Article();
article.title = dr["title"].ToString();
article.neirong= dr["neirong"].ToString();
articles.Add(article);
}
OleDbDataReader dr2 = mydb.GetdataReader("select top 5 * from article");
while (dr2.Read())
{
Article article2 = new Article();
article2.title = dr2["title"].ToString();
article2.neirong = dr2["neirong"].ToString();
articles2.Add(article2);
}
mydb.close();
//lview lv = new lview(articles,articles2);
//return View(lv);

return View(new lview(articles, articles2));

 

view页面读取

@model WebApplication40.Controllers.lview //(引用这个多的模型类)

下面循环读取1

<table class="table">

@foreach (var item in Model.articles)  //(Model.xx)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.title)
</td>
<td>
@Html.DisplayFor(modelItem => item.neirong)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}

</table>

循环读取2

<table class="table">

@foreach (var item in Model.articles2)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.title)
</td>
<td>
@Html.DisplayFor(modelItem => item.neirong)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}

</table>

如果还有很多,就@foreach (var item in Model.xxx)

银杏树http://www.5ad8.com/

转载于:https://www.cnblogs.com/luoluohua/p/9150667.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值