微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 ajax 加载时,锚标记助手呈现为纯文本

如何解决从 ajax 加载时,锚标记助手呈现为纯文本

在试图实现服务器端加载和 AJAX 调用的数据表中,一个属性作为文本从后端 api 返回,文本值是锚标记的 HTML 表示

OrderNo = $"<a asp-action=\"GetInfo\" asp-route-orderNo=\"{p.OrderNo}\" target=\"_blank\"> {p.OrderNo}</a>",

从控制台,我可以看到来自 api 的文本是正确的,如下所示

"data":[{"orderNo":"<a asp-action=\"GetInfo\" asp-route-orderNo=\"AV22728Z\" target=\"_blank\"> AV22728Z</a>","location":"Has","agent":"......................................

这仅在运行时在表列中呈现为纯文本,而不是替换为锚标记,即纯文本 AV22728Z 显示在列中

数据表初始化就像

$('#shipments').DataTable({                
            // Ajax Filter
            ajax: {
                url: "URL_API",type: "POST",contentType: "application/json",dataType: "json",data: function (d) {                        
                    return JSON.stringify(d);
                }
            },// Columns Setups
            columns: [
                { data: "orderNo" },......
            ]
        });

解决方法

链接似乎呈现为有效的 html,但链接不起作用,因为它没有作为 anchor tag helper 处理。您需要自己在控制器中生成 url

OrderNo = $"<a href=\"{Url.Action("GetInfo",new { orderNo = p.OrderNo})}\" target=\"_blank\"> {p.OrderNo}</a>"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。