将Html.ValidationSummary转换为javascript友好字符串

时间:2013-01-13 02:35:08

标签: javascript asp.net-mvc asp.net-mvc-4 toastr

我有部分视图通过Ajax.BeginForm()调用,我需要在脚本标记中返回Html.ValidationSummary(),该标记将显示为toastr

这是我的部分代码:

<script id="partial-js-container" data-ajax-update="true">
    toastr.error('@Html.ValidationSummary()');
</script>

Html.ValidationSummary()中返回的字符串中有一个回车符,最终无效。我该如何解决这个问题并使其健壮?

1 个答案:

答案 0 :(得分:1)

  

如何解决这个问题并使其健壮?

通过正确编码:

<script id="partial-js-container" data-ajax-update="true">
     var message = @Html.Raw(Json.Encode(((@Html.ValidationSummary()==null)?"":@Html.ValidationSummary().ToHtmlString())));
                if (message.length > 0) {
            toastr.error(message);
        }
</script>