首先,我是MVC的新手,所以我有一个学习曲线。
阅读以下帖子后发帖 - Display image from database in asp mvc
我已根据上面的帖子在_Layout.cshtml
包含以下标记和剃刀
<img src="@Url.Action("show", "image", new { imageName = Session["WebSite.LogoFileName"]})" />
共享视图_Layout.cshtml正在调用具有
的HomeController[AllowAnonymous]
public ActionResult Index()
{
return View();
}
根据我在帖子中的理解,我在HomeController中也包括以下内容。
[AllowAnonymous]
public ActionResult Show()
{
return View();
}
图像控制器具有以下
// GET: /Image/
public ActionResult Show(string imageName)
{
var imageData = ReadBytesFromDatabase(Session["WebSite.LogoFileName"].ToString());
return File(imageData, "image/jpg"); //I have excluded the File method on purpose.
}
答案 0 :(得分:1)
我认为你错了Url.Action For Html.Action。
Url.Action会创建指向该操作的链接。所以在这种情况下它会产生类似的东西:
/Images/Show/ImageName.png
但是你想要行动的结果。因此,将Url.Action更改为Html.Action应该可以解决问题。