使用ASP.NET MVC 3中的ViewBag从控制器传递图像并在视图中显示

Ler*_*ica 6 viewbag asp.net-mvc-3

我想这是非常直接的事情,但我不知道该怎么做.在我的控制器中我有:

 public ViewResult ShowForm()
        {
            ViewBag.Title = Resources.ApplicationTitle;
            ViewBag.LabelStatus = Resources.Status;
            //Logo
            ViewBag.Logo =@"C:\Images\Logo.png";
            return View("ShowForm");
        }
Run Code Online (Sandbox Code Playgroud)

在我看来,我试试这个:

<div id="drawForm">
<img src="@ViewBag.Logo" alt="Logo" />    
</div>
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这个时,我只得到"徽标"文本.

von*_* v. 5

使用Server.MapPath以获取图像的正确路径.假设您的images文件Content夹位于MVC项目中通常包含的文件夹中.你可以这样做:

public ViewResult ShowForm()
{
    //Logo
    ViewBag.Logo = Server.MapPath("~") + @"Content\Images\Logo.png";
    return View("ShowForm");
}
Run Code Online (Sandbox Code Playgroud)

而且您不必更改视图中的代码.


kar*_*una 5

尝试这个:

ViewBag.Logo = Url.Content("~/Content/Images/Logo.png");
Run Code Online (Sandbox Code Playgroud)