有什么原因要将错误消息数组传递给 toastr js.i 想使用数组显示多个 toastr 消息
Is there is any why to pass array of error messages to toastr js.i want to show multiple toastr messages using array
anyone have any solution?
控制器详情
这是在for循环中产生多条错误消息的控制器
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));
});
anyone have any solution?
控制器详情
这是在for循环中产生多条错误消息的控制器
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));
});