我正在尝试使用@Url.Action
方法显示数据库中的图像。 html文档也位于数据库中,我使用@html.Raw
函数对其进行渲染。
问题是当我渲染包含@Url.Action
方法的html时,它只是在source参数中显示整个函数形状。我尝试过的代码如下。
private string ConvertImageSource(int articleID, string content // the html string)
{
var imageCount = // counting number of image;
for (int i = 0; i < imageCount; i++)
{
content = content.Replace($"<!{i + 1}>", $"@Url.Action('ShowImage','Articles',new{{articleID={ articleID },imageID={ imageID }}})");
}
return content;
}
public ActionResult ShowImage(int? articleID, int? imageID)
{
var imageData = Encoding.ASCII.GetBytes(// get image string from database);
return new FileStreamResult(new MemoryStream(imageData), "image/jpeg");
}
我想知道如何使其工作。有想法吗?
答案 0 :(得分:0)
您可以在部分视图上使用该for循环。
看起来像..
@model MyContentModel
@for (int i = 0; i < model.ImageCount; i++){{
@Url.Action("ShowImage", "Articles", new {{ articleID ={ model.ArticleID },imageID ={ model.ImageID } }})}}