Нужна помощь в печати на <td>2 eval-функциях для объекта изображения asp.net - PullRequest
0 голосов
/ 27 сентября 2018

Это мой скрипт для получения json из веб-сервиса и печати данных SQL в html-таблицу.Все работает на 100%, пока я не попытаюсь напечатать столбец для изображений, используя функции Eval.

<script>

        function GetListaColaboradores() {

            var url = "GetColaboradoresWebService.asmx/GetListaColaboradores";

            $("#AdminUserListPanel").html("<div style='text-align:center; background-color:yellow; border:1px solid red; padding:3px; width:200px'>Please Wait...</div>");

            var request = $.ajax({
                type: "POST",
                url: url,
                data: "{}",
                contentType: "application/json; charset-utf-8",
                dataType: "json"
            })

            request.done(function (data) {


                var TableContent = "<table id='example1' class='table table-bordered table-striped'>" +
                                    "<thead>" +
                                     "<tr>" +
                                         "<td> Nome </td>" +
                                         "<td> Departamento </td>" +
                                         "<td> Ciclo </td>" +
                                         "<td> Observações </td>" +
                                         "<td> Estado </td>" +
                                         "<td> </td>" +
                                          "<td> </td>" +
                                     "</tr>" +
                                     "</thead>";
                $(function () {
                    $('#example1').DataTable();
                })




                for (var i = 0; i < data.d.length; i++) {
                    TableContent += "<tr>" +
                                            "<td>" + data.d[i].Name + "</td>" +
                                            "<td>" + data.d[i].Department + "</td>" +
                                            "<td>" + data.d[i].Profile + "</td>" +
                                            "<td>" + data.d[i].Observations + "</td>" +
                                            "<td>" + data.d[i].Status + "</td>" +
                                            "<td style='text-align: center'>" +
                                                '<asp:Image ID="EditIcon" Style="cursor: pointer" ImageUrl="Images/icons8-edit-48.png" Width="15" Height="15" runat="server" />' + 
                                            "</td>"+ 
                                            "<td>" +
                                               "<asp:Image ID='DisableIcon' Width='15' Height='15' ToolTip='Suspender' Style='cursor: pointer' ImageUrl='Images/icons8-unavailable-30.png' runat='server' OnClientClick='<%# Eval("Nome","Javascript:return confirm(\'Deseja suspender o utilizador: {0}\');")%>' Visible='<%# Eval("Descricao").ToString().Replace(" ","")=="Activo" ? true:false %>' />" +
                                               "<asp:Image ID='EnableIcon' Width='15' Height='15' ToolTip='Ativar' Style='cursor: pointer' ImageUrl='Images/icons8-checkmark-30.png' runat='server' OnClientClick='<%# Eval("Nome","Javascript:return confirm(\'Deseja activar o utilizador: {0}\');")%>' Visible='<%# Eval("Descricao").ToString().Replace(" ","")=="Activo" ? false:true %>' />" +
                                            "</td>"+
                                    "</tr>";
                }
                TableContent += "</table>";

                $("#AdminUserListPanel").html(TableContent);


            })
            request.fail(function (response) {

            });
        }   

        document.addEventListener('DOMContentLoaded', GetListaColaboradores, false);
    </script>

Вот в чем проблема.Это дает мне ошибку, говоря, что серверный тег неправильно сформирован

"<asp:Image ID='DisableIcon' Width='15' Height='15' ToolTip='Suspender' Style='cursor: pointer' ImageUrl='Images/icons8-unavailable-30.png' runat='server' OnClientClick='<%# Eval("Nome","Javascript:return confirm(\'Deseja suspender o utilizador: {0}\');")%>' Visible='<%# Eval("Descricao").ToString().Replace(" ","")=="Activo" ? true:false %>' />" +
                                               "<asp:Image ID='EnableIcon' Width='15' Height='15' ToolTip='Ativar' Style='cursor: pointer' ImageUrl='Images/icons8-checkmark-30.png' runat='server' OnClientClick='<%# Eval("Nome","Javascript:return confirm(\'Deseja activar o utilizador: {0}\');")%>' Visible='<%# Eval("Descricao").ToString().Replace(" ","")=="Activo" ? false:true %>' />" +

Я попытался заменить

'Deseja activar o utilizador: {0}\'

на

"Deseja activar o utilizador: {0}\"

, и он загрузит страницуне показывая мне никаких ошибок, но он не напечатает мою таблицу, поэтому я не знаю, что еще делать, я попытался заменить столько двойных кавычек одинарными, но безуспешно.Возможно, есть лучший способ сделать это без использования функции Eval?

1 Ответ

0 голосов
/ 27 сентября 2018

Вы должны попытаться избежать двойных кавычек с помощью \ "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...