通过 toastr 显示多个错误
Show multiple errors by toastr
我正在尝试在用户注册页面的 toastr 视图中显示多条错误消息。
我使用 TempData["errors"]
将错误消息列表传递给 View
但我不知道如何显示字符串列表(错误)
我这样做是为了成功消息,代码如下
register.cshtml
@if (TempData["success"] != null)
{
<script>
$(document).ready(function() {
var message = '@(TempData["success"])';
toastr.options = {
"rtl": true,
"closeButton": false,
"newestOnTop": false,
"progressBar": false,
"positionClass": "toast-top-left",
"preventDuplicates": true,
"onclick": null,
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.success(message);
});
Toastr 支持带有 HTML 标签的消息。所以你可以放一个 <br/>
标签作为换行符。
试试这个。
TempData["Errors"] = string.Join("<br/>", Errors);
其中 Errors
是一个集合。
这是截图
我的建议是:
您可以在控制器中将列表转换为字符串,如下所示:
var err = new List<string>() { "error1", "error2", "error3" };
var er = string.Join(",", err.ToArray());
TempData["errors"] = er;
然后在您的 javascript 代码中用 <br/>
替换“,”,如下所示:
var message1 = '@TempData["errors"]';
var message2 = message1.replaceAll(',', '<br/>');
toastr.error(message2, 'Errors');
结果:
但如果您将列表转换为字符串,如下所示:
控制器:
var err = new List<string>() { "error1", "error2", "error3" };
var er1 = string.Join("<br/>", err.ToArray());
TempData["error?"] = er1;
Js:
var message3 = '@TempData["error?"]';
toastr.error(message3, 'Errors');
结果:
如果您想发送个别错误信息:
控制器:
var err = new List<string>() { "error1", "error2", "error3" };
TempData["error!"] = err;
Js:
var message4 = @Html.Raw(Json.Serialize(TempData["error!"]));
message4.forEach(x => toastr.error(x));
结果:
我正在尝试在用户注册页面的 toastr 视图中显示多条错误消息。
我使用 TempData["errors"]
将错误消息列表传递给 View但我不知道如何显示字符串列表(错误)
我这样做是为了成功消息,代码如下
register.cshtml
@if (TempData["success"] != null)
{
<script>
$(document).ready(function() {
var message = '@(TempData["success"])';
toastr.options = {
"rtl": true,
"closeButton": false,
"newestOnTop": false,
"progressBar": false,
"positionClass": "toast-top-left",
"preventDuplicates": true,
"onclick": null,
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.success(message);
});
Toastr 支持带有 HTML 标签的消息。所以你可以放一个 <br/>
标签作为换行符。
试试这个。
TempData["Errors"] = string.Join("<br/>", Errors);
其中 Errors
是一个集合。
这是截图
我的建议是:
您可以在控制器中将列表转换为字符串,如下所示:
var err = new List<string>() { "error1", "error2", "error3" };
var er = string.Join(",", err.ToArray());
TempData["errors"] = er;
然后在您的 javascript 代码中用 <br/>
替换“,”,如下所示:
var message1 = '@TempData["errors"]';
var message2 = message1.replaceAll(',', '<br/>');
toastr.error(message2, 'Errors');
结果:
但如果您将列表转换为字符串,如下所示:
控制器:
var err = new List<string>() { "error1", "error2", "error3" };
var er1 = string.Join("<br/>", err.ToArray());
TempData["error?"] = er1;
Js:
var message3 = '@TempData["error?"]';
toastr.error(message3, 'Errors');
结果:
如果您想发送个别错误信息: 控制器:
var err = new List<string>() { "error1", "error2", "error3" };
TempData["error!"] = err;
Js:
var message4 = @Html.Raw(Json.Serialize(TempData["error!"]));
message4.forEach(x => toastr.error(x));
结果: