Я реплицировал весь код, используемый в решении AspNetZero для функции «аватар».Я имею в виду функцию, которая позволяет пользователю загружать свои собственные фотографии.Я скопировал существующие модальные методы, JS-файл и методы контроллера в мой контроллер сотрудника и папки сотрудника соответственно, так как я хотел, чтобы одна и та же функциональность.
Загрузка изображения и сохранение в таблицу бинарных объектов - все работает простоfine.
Проблема возникает, когда я пытаюсь отобразить миниатюру загруженной фотографии в столбце данных с представлением индекса моего сотрудника.Я скопировал эту функцию из представления индекса пользователя в решении.
Когда представление индекса моего сотрудника отображается, миниатюра не отображается.Когда я нажимаю на миниатюру изображения, она открывает новую вкладку и выдает ошибку 404. Мой скопированный метод контроллера.
Вот код JS, который отображает миниатюру изображения в представлении users index:
targets: 1,
data: "userName",
render: function (userName, type, row, meta) {
var $container = $("<span/>");
if (row.profilePictureId) {
var profilePictureUrl = "/Profile/GetProfilePicture?t=" + row.profilePictureId;
var $link = $("<a/>").attr("href", profilePictureUrl).attr("target", "_blank");
var $img = $("<img/>")
.addClass("img-circle")
.attr("src", profilePictureUrl);
$link.append($img);
$container.append($link);
}
$container.append(userName);
return $container[0].outerHTML;
}
Вот тот же код в моем сотруднике индексном представлении:
targets: 4,
orderable: true,
autoWidth: true,
data: "fullName",
render: function(fullName, type, row, meta) {
var $container = $("<span/>");
if (row.employeePictureId) {
var profilePictureUrl = "/Employee/GetProfilePictureById?id=" + row.employeePictureId;
var $link = $("<a/>").attr("href", profilePictureUrl).attr("target", "_blank");
var $img = $("<img/>").addClass("img-circle").attr("src", profilePictureUrl);
$link.append($img);
$container.append($link);
}
$container.append(fullName);
return $container[0].outerHTML;
}
Строка кода, которая не работает, - это строка ProfilePictureUrl.
var profilePictureUrl = "/Employee/GetProfilePictureById?id=" + row.employeePictureId;
Если я заменим вышеуказанную строку на строку из пользовательского index.js и вызову метод контроллера профиля, он будет работать нормально.Но когда я пытаюсь вызвать метод контроллера моего сотрудника, он продолжает выдавать ошибку 404.Контроллер моего сотрудника находится на том же уровне в моем решении, что и контроллер профиля.Оба контроллера являются частью одной и той же области в моем приложении MVC.