Это мой скрипт для получения 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?