【问题标题】:Show multiple errors by toastr通过 toastr 显示多个错误
【发布时间】:2022-01-12 21:37:52
【问题描述】:

我正在尝试在 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);


    });

【问题讨论】:

    标签: javascript asp.net asp.net-core razor-pages toastr


    【解决方案1】:

    Toastr 支持带有 HTML 标签的消息。所以你可以放一个&lt;br/&gt;标签来换行。

    试试这个。

    TempData["Errors"] = string.Join("<br/>", Errors);
    

    Errors 是一个集合。

    这是截图

    【讨论】:

    • 谢谢你帮助我:)
    【解决方案2】:

    我的建议是:

    您可以在控制器中将列表转换为字符串,如下所示:

    var err = new List<string>() { "error1", "error2", "error3" };
    var er = string.Join(",", err.ToArray());
     TempData["errors"] = er;
    

    然后在你的javascript代码中用&lt;br/&gt; 替换","如下:

    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));
    

    结果:

    【讨论】:

    • 谢谢你帮助我:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    相关资源
    最近更新 更多