c# - 在 mvc 应用程序中,如何像通知一样一一显示消息?
问题描述
我有一个 MVC 应用程序,我正在使用 foreach 循环将设备注册到 IOT。
当一台设备完成注册时,我想一一显示消息。如何在视图上显示消息?
控制器方法中的代码 -
foreach (var deviceId in collection)
{
try
{
// save device information into database
Models.Device newDevice = new Models.Device()
{
Id = Guid.NewGuid(),
Device = deviceId
};
_deviceRepository.InsertDevice(newDevice);
_deviceRepository.Save();
}
catch (DeviceAlreadyExistsException)
{
device = await registryManager.GetDeviceAsync(deviceId);
ViewBag.Message = "device already present";
}
}
}
catch (Exception ex)
{
ViewBag.Message = "Error";
throw ex;
}
ViewBag.Message = "device register successfully - " + deviceId;
return View("Index")
如何ViewBag.Message
在视图或部分视图中一一显示?
如果发生错误,它将显示错误消息。如果成功则一一通知我们必须显示消息成功消息。
例如我有 10 个项目,那么 foreach 将运行 10 次,每次设备成功后,我们需要在 UI 上显示一条消息:
device register successfully device1
device register successfully device2
等等 ...
我知道 ViewBag 没有用,我可以采取什么方法?
解决方案
我认为您需要对这种行为采取不同的方法。
考虑使用 signalR,以便您可以在服务器端操作发生时与客户端视图进行通信。
您可以使用它来显示进度加载栏,或在设备注册时提供反馈。
推荐阅读
- laravel - laravel 通过 appServiceProvider 制作自定义验证模板时发送两封邮件而不是一封邮件
- python - 应用(余弦)相似性度量 - 熊猫数据框
- html - 在 Angular Typescript 中将数组中的数据记录到 console.log
- wordpress - 清除wordpress缓存不起作用,显示旧页面无法清除缓存
- enums - 锈:如何简化枚举嵌套匹配?
- crystal-reports - 日期分组水晶报表
- arduino - SpenceKonde 在 ATtinyCore 上支持的 Arduino 功能
- jenkins - stash jenkins @script 目录
- java - Showing a blank activity in android
- java - 有没有办法为 ArrayDeque 实现 O(1) 时间复杂度的检索 (get())?