我有一个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,以便在发生服务器端操作时与客户端视图进行通信。
您可以使用它来显示进度加载栏,或在设备注册时提供反馈。