c# - 如何将数据从控制器传递到C#中的视图
问题描述
我想计算该方法运行所需的时间,因此我试图将开始时间、结束时间和经过的时间值从控制器传递给视图。我怎样才能做到这一点?
这是我已经用来从 cs 文件传递值的控制器,因此 ViewBag.Message 就是为此,但我想使用另一个控制器将更多值传递给视图。
public ActionResult Test()
{
var startTime = DateTime.Now;
ViewBag.Message = _importFactory.importScanSourceProductData(CurrentTenantId, "", null, CurrentUserId);
var endTime = DateTime.Now;
var elapsedTime = endTime - startTime;
ViewBag.Message = elapsedTime;
return View();
}
看法
@model dynamic
@{
Layout = null;
var data = ViewBag.Message;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Test</title>
</head>
<body>
<div>
<h1>Import Scan Source Product Data</h1>
<p>@data</p>
</div>
</body>
</html>
解决方案
我建议如果你想从控制器传递多个值来查看你应该创建一个新的视图模型类,其中包含定义要传递的属性列表。
然后继续在您的控制器中创建该类的实例,并在 return View(); 中传递该实例;
例子 :
public ActionResult Test()
{
var viewModel = new viewModel();
var startTime = DateTime.Now;
viewModel.Message = _importFactory.importScanSourceProductData(CurrentTenantId, "", null, CurrentUserId);
var endTime = DateTime.Now;
viewModel.EndTime = endTime;
var elapsedTime = endTime - startTime;
viewModel.ElapsedTime = elapsedTime;
return View(viewModel);
}
现在在 .CSHTML 中使用它 - @viewModel.StartTime 等
推荐阅读
- sql-server - ASP.NET Core Web API 服务无法连接到同一网络上的 Docker SQL Server
- javascript - 将项目添加到 JavaScript 中的对象数组中
- c# - 在 C# 中播放音频时出现白噪声
- java - 如何配置 GraphQL SPQR 以使用 Gson 而不是 Jackson
- xamarin - 框架内的 Xamarin 表单标签未显示
- r - 如何反转该图的 x 轴?
- phpmailer - 此脚本当前仅支持 Google、Microsoft 和 Yahoo OAuth2 提供程序。- php邮件程序
- java - LWJGL 添加照明后显示白屏
- javascript - 在部署 reactjs 的应用程序部署后,索引页面显示为白屏
- mysql - 如何根据两个条件获取 COUNT(*)