asp.net MVC中,一次默认只能返回一个Model,如果调用多个数据集,只能用ViewData来导来导去,好像很麻烦,所以,可以给model扩展方法来实现...我只是入门学习者,可能不太懂,也描述的不太清楚,如果能有更好的方法或建议..
我不擅长写博客...内容尽量简单吧..仅作示例..
asp.net MVC中,一次默认只能返回一个Model,如果调用多个数据集,只能用ViewData来导来导去,好像很麻烦,所以,可以给model扩展方法来实现...我只是入门学习者,可能不太懂,也描述的不太清楚,如果能有更好的方法或建议..
首先,在控制器中定义一个类,内容如下:
Code
public class lviewModel

{

public List<Sorts> sortList
{ get; private set; }

public List<Articles> artList
{ get; private set; }
public lviewModel(List<Models.Sorts> sortlists, List<Models.Articles> artlists)

{
this.sortList = sortlists;
this.artList = artlists;
}

}

以此来接收两个list,然后 返回的时候
Models.ESCMSContext escms = new ESCMS_MVC_SQL.Models.ESCMSContext();
return View(new lviewModel(escms.sortList(), escms.artList()));
在使用的时候
视图文件的第一行要引用
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<ESCMS_MVC_SQL.Controllers.lviewModel>" %>
ESCMS_MVC_SQL改成你项目的名称
然后就可以
Model.artList
Model.sortList
这样来用了

Code

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<form id="form1" runat="server">

<h2>list</h2>

<table>
<tr>
<th></th>
<th>
ArtID
</th>
<th>
ArtTitle
</th>
<th>
ArtSort
</th>
<th>
ArtSort
</th>
</tr>

<% foreach (var item in Model.artList)

{ %>
<tr>
<td>

<%= Html.ActionLink("Edit", "Edit", new
{ id=item.ArtID }) %> |

<%= Html.ActionLink("Details", "Details", new
{ id=item.ArtID })%>
</td>
<td>
<%= Html.Encode(item.ArtID) %>
</td>
<td>
<%= Html.Encode(item.ArtTitle) %>
</td>
<td>
<%= Html.Encode(item.ArtSort) %>
</td>
<td>
<%= Html.Encode(item.Sorts.SortName) %>
</td>
</tr>
<% } %>

</table>
<table>
<tr>
<th>aa</th>
<th>bb</th>
</tr>

<% foreach (var item in Model.sortList)

{ %>
<tr>
<td>

<%= Html.ActionLink("Edit", "Edit", new
{ /**//* id=item.PrimaryKey */ }) %> |

<%= Html.ActionLink("Details", "Details", new
{ /**//* id=item.PrimaryKey */ })%>
</td>
<td>
<%= Html.Encode(item.SortName) %>
</td>
</tr>
<% } %>

</table>
</form>

</asp:Content>



这样就可以了..还算简单,就是之前有些绕...我觉得微软应默认提供这样的类,写起来才方便..
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库