c# - 多个数据从数据库显示到同一视图中
问题描述
控制器:
private void FetchData()
{
//Reinicia a varíavel addresses se já conter algo
if (addresses.Count > 0)
{
addresses.Clear();
}
try
{
con.Open();
com.Connection = con;
com.CommandText = "SELECT [ID], [SYSTEM_NAME], [SYSTEM_STATUS], [SYSTEM_SHORTMSG] FROM [CORE_SYS_STATUS]";
dr = com.ExecuteReader();
while (dr.Read())
{
//Lê os dados da base de dados
addresses.Add(new GestaoAlertas()
{
ID = (int)dr["ID"]
,
SYSTEM_NAME = dr["SYSTEM_NAME"].ToString()
,
SYSTEM_STATUS = dr["SYSTEM_STATUS"].ToString()
,
SYSTEM_SHORTMSG = dr["SYSTEM_SHORTMSG"].ToString()
});
}
con.Close();
}
//Mostra o erro se houver um
catch (Exception ex)
{
throw ex;
}
}
我的观点:
public IActionResult Index()
{
FetchData();
return View(addresses);
}
我想知道如何将更多数据(不同的表)放入索引视图,我尝试做一个地址2,但它没有意义,因为我不能把它放在“返回视图()”上。
解决方案
你必须创建一个视图模型
public class AddressViewModel
{
public List<Address> Adresses {get; set;}
public List<Address> Adresses2 {get; set;}
}
行动
public IActionResult Index()
{
var model=new AddressViewModel {Address= new List<Address>, Address= new List<Address> };
FetchData(model.Address);
FetchData(model.Address2);
return View(model);
}
private void FetchData(List<Address> adresses)
{
.....
}
看法
@model AddressViewModel
.....
推荐阅读
- api - 如何通过 github api 列出组织私有仓库?
- python - 从 youtube (Python) 获取链接时尝试查找第一个链接时,大部分时间都输出空列表
- angular - Facebook 使用 Angular 和 Google Firebase 登录失败 - INVALID_IDP_RESPONSE:从 facebook.com 获取访问令牌时出错
- reactjs - 将数据传递给布局组件 gatsbyJS
- firebase - 我的时间戳没有启用,它显示是错误的
- c++ - c ++通过结构向量的嵌套迭代器问题
- android-studio - 如何修复 WillPopScope() 对我不起作用
- c++ - 使用 C++ 将文件作为字节数组读取?
- javascript - discord.js 我不断得到机器人所说的而不是用户的消息
- java - 在java中实现`sleep()`和`awake()`