c# - 如何显示来自控制器的值?
问题描述
public ActionResult Dashboard()
{
var data = Processor.LoadBarangays();
List<BarangayModel> barangays = new List<BarangayModel>();
**int totalConfirmed = 0;
int totalPUI = 0;
int totalPUM = 0;**
foreach (var row in data)
{
***totalConfirmed = +row.Confirmed;
totalPUI = +row.PUI;
totalPUM = +row.PUM;***
barangays.Add(new BarangayModel
{
Barangay = row.Barangay,
Confirmed = row.Confirmed,
PUI = row.PUI,
PUM = row.PUM
});
}
return View(barangays);
}
我有上面的代码来显示这个表:红色标记现在我添加了上面强调的代码,这样我就可以在蓝色标记的卡片中显示它:蓝色标记。如何在视图中显示变量的值?我可以在单个控制器中使用多个视图吗?谢谢你。
解决方案
似乎您正在寻找的是在单个视图中显示多个视图,因为在您的情况下,您只能从控制器返回一个Dashboard
(当您未指定时,它们必须与方法同名)
您可以使用部分视图来做到这一点。这取决于你是哪个版本,如果是 .NET 框架,net core 等,如果你正在使用 razor 或任何其他前端框架。如果您使用剃刀,如果您键入@HTML.Partial("viewname")
将在您的“主”视图中加载部分视图。您可以将模型(对象)作为第二个参数发送给它@HTML.Partial("viewname", model)
对于您的示例,您要返回return View(barangays);
的是红色框。然后要包括蓝色的,你要做的就是扩展你的模型。所以你BarangayModel
应该成为 aDashboardModel
并且其中一个属性必须是List<BarangayModel>
。
class DashboardModel{
public List<BarangayModel> BarangayModelList {get;set;}
}
这样做的原因是因为你现在必须添加你的红框。以免调用对象 PersonStatus ,示例如下:
class PersonStatus{
int confirmed {get;set;}
int recovered {get;set;}
//rest of the properteis
}
然后你扩展你DashboardModel
以包含这个新对象:
class DashboardModel{
public List<BarangayModel> BarangayModelList {get;set;}
public PersonStatus PersonStatus {get;set;}
}
所以Dashboard.cshtml
现在你需要指定新模型。通常位于视图的第一行。看起来像这样@model List<BarangayModel>
,您需要将其更新为@model DashboardModel
当您更改为List<BarangayModel>
新的时,打印表格的 foreach 将失败。这意味着您可能有类似foreach(var bm in Model)
现在的东西,您必须将其更新为foreach (var bm in Model.BarangayModel)
现在您在视图上拥有这两个信息,但您只打印BarangayModel
您需要做的是在与此视图(或Shared
其中一个)相同的文件夹中创建一个视图,该视图将接收新PersonStatus
对象作为参数。
那么你需要从你的主视图中调用它作为一个局部视图,并传递参数:
@Html.Partial("PersonStatusView", Model.PersonStatus);
或者
<partial name="PersonStatusView" model="@Model.PersonStatus);
取决于您正在运行的版本/框架。
推荐阅读
- c# - 光标在移动,但在游戏内无法移动
- python - 如何使用作为函数的属性对 Python 类进行 Cythonize?
- pycharm - 我不明白如何 16 是以下代码的输出:
- gremlin - Why is hasId() only returning one of the ids in a list?
- python-3.x - 无法使用 pandas 和 selenium 从网站获取表格
- c# - 将字节数组复制到位图时,LockBits 似乎导致步幅错误
- c# - 在一个非常复杂的多任务窗口窗体程序中锁定和使用实体框架上下文是否可以?
- api - GitHub API - 如何将问题移至项目?
- discord.py-rewrite - Piece of code looping, and i don't know how to solve it
- c - 生成子进程以写入日志文件