У меня есть проблема при показе базы данных формы изображения в представлении Details и ImageController. В представлении я имею:
img src=Url.Action("GetFile","Image", new {id= Model.id})
и в контроллере:
public FileContentResult GetFile(int idl)
{
//int idl = 32;
SqlDataReader rdr; byte[] fileContent = null;
...........
return File(,,);
}
Когда представление назовут, функциональный GetFile, это просто не будет работать. Но если я отключил интервал параметра id1, и я инстанцирую его как переменной, он действительно работает.
public FileContentResult GetFile()
{
int idl = 32;
SqlDataReader rdr; byte[] fileContent = null;
...........
return File(,,);
}
Почему?
Я думаю, что ваше значение id
не связывается, потому что ваш параметр действия - idl
, а у databinder нет значения маршрута для связывания с параметром idl
.
Видите ли, параметры вашего действия должны соответствовать значениям маршрута. Я предполагаю, что вы просто используете маршрут по умолчанию {controller}/{action}/{id}
- если это так, то вам нужно изменить ваше действие GetFile
, чтобы параметр id
, а не idl
. В противном случае вам нужно создать собственный маршрут, который будет выглядеть примерно так: `Image/GetFile/{idl}.
Savvy?
HTHs,
Чарльз