Моя тестовая установка состоит из представления с foreach, которое выполняет итерацию по простой модели с целью визуализации изображения для каждого элемента коллекции моделей. Внутри цикла находятся два помощника @ Url.Action, которые вызывают методы FileContentResult в контроллере, которые идентичны, за исключением того, что один принимает параметры из представления, а другой имеет переменные параметров, жестко закодированные.MVC Controller FileContentResult метод не вызывается
@foreach (var i in Model.FeaturedItems)
{
<img src="@Url.Action("GetFooImage", "Home", new {})" alt="@i.Name" />
<img src="@Url.Action("GetFoobarImage", "Home", new {i.ItemID, Entity="item", Size="m"})" alt="@i.Name" />
}
В мой контроллер эти два метода:
public FileContentResult GetFooImage() // variables hard coded in body
public FileContentResult GetFoobarImage(int id, string entity, string size)
GetFooImage() возвращает изображение. FileContentResult GetFoobarImage() не делает.
Это тайна: Если я поставил точку останова на GetFoobarImage, то даже не попал. Я не могу понять, почему GetFooImage вызывается, но GetFoobarImage этого не делает.
Хорошая добыча! Это был бит. ID = i.ItemID исправил это. Отсутствует инициализатор анонимного типа. – GDB
Спасибо! – muglio