我在查看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它将无法正常工作。但是,如果我删除参数int id1并将其实例化为变量,它确实有效。
public FileContentResult GetFile()
{
int idl = 32;
SqlDataReader rdr; byte[] fileContent = null;
...........
return File(,,);
}
为什么?
答案 0 :(得分:2)
我认为您的id
值未受约束,因为您的操作参数为idl
且数据透视表没有要绑定到idl
参数的路由值。
您会看到,您的操作参数应与路线值匹配。我猜您只是使用{controller}/{action}/{id}
的默认路由 - 如果是这种情况,那么您需要更改GetFile
操作以使参数为id
而不是{{ 1}}。否则,您需要创建自己的路径,看起来像`Image / GetFile / {idl}。
精明?
HTHS,
查尔斯