Моя проблема подобна Этому вопросу, но достаточно отличается, что я чувствую, что это гарантирует отдельный поток.
Таким образом, у меня есть следующее 'представление';
// A load of other calls to Model.Title, Model.Description, Model.DownloadURL
// which work fine so no issues with actually ViewModel communication.
Печально однако все, что я получаю, является обрисованным в общих чертах белым полем... никакое изображение.
Я отладил приложение и прервал переменную пути к файлу, это становится отправленным в ViewModel и вставило это в мой компьютерный проводник. Я получаю изображение, которое я ожидал.
Я попробовал жесткое кодирование этот путь к файлу к исходному атрибуту и тем не менее, пустое белое поле.
Существует много других свойств в этом Viewpage, которые отображаются отлично, таким образом, коммуникация через прикладные уровни работает.
Какие-либо идеи, почему это не могло бы функционировать как ожидалось?
Спасибо за Ваше время.
Атрибут src должен быть URL-адресом, а не путем к файлу. Если можете, поместите изображения в папку content / images и укажите там URL-адрес. Если нет, то есть файл должен оставаться там, где он есть, тогда подумайте о наличии контроллера, который может читать изображение и возвращать его как ContentResult с правильным типом mime, и использовать URL-адрес контроллера / действия / идентификатора изображения в качестве src для изображения.
<img src="<%= Url.Content( "~/images/thumbnails/" + Model.ThumbnailName ) %>" ...
или
<img src="<%= Url.Action( "thumbnail", "image", Model.ImageID ) %>" ...
Хотя это не имеет полного смысла отвечать на ответ в этом поле, мне нужно написать код.
Я не очень понимаю, что бы вы написали на стороне контроллера в предложенном вами сценарии tvanfosson.
Вот что существует:
Папка Images в: MySolution.Models.Entities.Images.ProjectThumbnails
. В этой папке есть несколько bmp, все они названы в соответствии с GUID сущности, к которой они принадлежат.
Теперь у меня есть контроллер в: MySolution.Controllers.ProjectsController
со следующим методом:
public ContentResult ProjectThumbnails(Guid Id)
{
ContentResult result = new ContentResult();
Project project = projectService.GetProject(Id);
//This is still a fully qualified disk location path
result.Content = project.ThumbnailImagePath;
return result;
}
Затем в представлении:
<img src="<%= Url.Content(~/ProjectThumbnails/" + Model.Id) %>" />
Однако, я не получаю никакой подсказки при вводе "Url.Content", что редко бывает хорошо, а также, когда я запускаю сайт, я получаю следующую ошибку:
"Compiler Error Message: CS1010: Newline in constant" С ошибкой, указывающей на строку.
Не могли бы вы пояснить, что я могу упустить? Учитывая, насколько MVC упрощает большинство других аспектов создания сайтов, просто смешно, насколько сложной является работа с изображениями.