我有一个MVC应用程序,并且正在使用foreach循环将设备注册到IOT。
当一台设备完成注册后,我想一一显示消息。如何在视图上显示消息?
控制器方法中的代码-
@implementation NSImage (CustomDynamic)
+ (NSImage *)imageWithLight:(NSImage *)light dark:(NSImage *)dark
{
if (@available(macOS 10.14, *)) {
return [NSImage
imageWithSize:light.size
flipped:NO
drawingHandler:^(NSRect dstRect) {
if ([NSImage appearanceIsDarkMode:NSAppearance.currentAppearance]) {
[dark drawInRect:dstRect];
} else {
[light drawInRect:dstRect];
}
return YES;
}
];
} else {
return light;
}
}
+ (BOOL)appearanceIsDarkMode:(NSAppearance *)appearance
{
if (@available(macOS 10.14, *)) {
NSAppearanceName basicAppearance = [appearance bestMatchFromAppearancesWithNames:@[
NSAppearanceNameAqua,
NSAppearanceNameDarkAqua
]];
return [basicAppearance isEqualToString:NSAppearanceNameDarkAqua];
} else {
return NO;
}
}
@end
如何在视图或局部视图上一一显示 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")
?
如果发生错误,将显示错误消息。 如果成功,则必须像通知一样一个接一个地显示成功消息。
例如,我有10个项目,则foreach将运行10次,每次设备成功运行后,我们需要在UI上显示一条消息:
ViewBag.Message
device register successfully device1
等...
我知道ViewBag不会有用,任何人都可以通过正确的方向或任何链接或代码段帮助我吗?
答案 0 :(得分:1)
我认为您需要针对此行为采取其他方法。
研究使用signalR,以便在进行服务器端操作时可以与客户端视图进行通信。
您可以使用它来显示进度加载栏,或者在设备注册时提供反馈。