Есть таблица на основе jqGrid, для одной из ячеек используется custom fromatter:
function employeeLinkFormatter(cellvalue, optios, rowObject) {
if (cellvalue) {
var name = cellvalue;
var id = rowObject["ResponsiblePersonId"];
if (id) {
var link = '@Html.ActionLink("Name", "EmployeeInfo", "Customers", new { employeeId = "EmployeeId" }, new { @class = "modalpartial" })';
var result = link.replace("Name", name).replace("EmployeeId", id);
return result;
}
return name;
}
return "";
}
По задумке, при нажатии на ссылку появляется модальное окно ( на основе PartialView) формируемое следующим кодом:
$(".modalpartial").click(function (ev) {
try {
ev.preventDefault();
var url = $(this).attr("href");
var placeholder = document.getElementById("_modal_placeholder");
$("<div id=\"modalpartialwindow\" class=\"modal fade \" tabindex=\"-1\"/>").appendTo(placeholder);
$("<div id=\"modaldialog\" class=\"modal-dialog modal-lg\" />").appendTo("#modalpartialwindow");
$("<div id=\"modalpartialcontainer\" class=\"modal-content\"/>").appendTo("#modaldialog");
$.ajaxSetup({ cache: false });
$.get(url, function (data) {
$("#modalpartialcontainer").html(data);
$("#modalpartialwindow").modal("show");
});
} catch (e) {
alert("Ошибка " + e.message + " " + e.description);
}
return false;
});
Если ссылку разместить вне jqGrid, то окно показывается (событие $(".modalpartial").click вызывается), но если ссылка находится в ячейке, происходит просто открытие html (PartialView), без вызова события и его обработки.
Подскажите, где я накосячил?
Я просто довольно далек от Jquery и иже с ним.