【发布时间】:2011-08-17 02:26:41
【问题描述】:
在我的 asp.net mvc 页面上,我需要渲染存储在第三方图像托管服务上的多个图像。该服务有一些 api,它返回一个图像 url 列表。 在 *.cshtml 文件中,有一个 html 标记:
@foreach (var img in Model.Images)
{
<img src="@img.ImageUrl" />
}
效果很好。但由于某种原因,我不能使用“src”属性中图像的直接 URL。接下来,我创建了应该返回图像的新异步控制器:
public class ImagesController : AsyncController
{
//
// GET: /Images/
public void GetImageAsync(string url)
{
AsyncManager.OutstandingOperations.Increment();
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
AsyncManager.Parameters["response"] = response;
AsyncManager.OutstandingOperations.Decrement();
}
public FileResult GetImageCompleted(WebResponse response)
{
return base.File(response.GetResponseStream(), response.ContentType);
}
}
现在我需要将完整的图像 url 传递给我的控制器操作。
类似这样的:
@foreach (var img in Model.Images)
{
<img src="Images/GetImage/**@img.ImageUrl**" />
}
如何创建一个新的路由来传递这个参数到action?
谢谢!
【问题讨论】:
标签: asp.net-mvc url routing parameter-passing