如何解决是否有任何原因将错误消息数组传递给 toastr js.我想使用数组显示多个 toastr 消息
有人有什么解决办法吗?
控制器详情
public async Task<IActionResult> Register(Registerviewmodel model)
{
var result = await userManager.CreateAsync(user,model.Password);
if (result.Succeeded)
{
var token = await userManager.GenerateEmailConfirmationTokenAsync(user);
var confirmationLink = Url.Action("ConfirmEmail","AccountRoles",new { userId = user.Id,token = token },Request.Scheme);
}
foreach (var error in result.Errors)
{
TempData["msg"] = error.Description;
}
return View(model);
}
js
$(document).ready(function () {
var a = '@TempData["msg"]';
if (a != '')
toastr.error(a)
})
解决方法
控制器方法中的 for 循环不会生成错误消息数组。
行 TempData["msg"] = error.Description
在循环中重复,这意味着在您的 javascript 调用 @TempData["msg"]
将导致仅检索最后一条错误消息。
您需要生成错误消息列表,然后将它们存储在 TempData 中。
TempData["msg"] = result.Errors.Select(x => x.Description).ToList();
然后在 javascript 中,您遍历结果数组并为每个数组显示一条错误消息。
$(document).ready(function () {
var errors = @Html.Raw(Json.Serialize(TempData["msg"]));
errors.forEach(x => toastr.error(x));
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。