ASP.net核心显示变量src的{img}标签

时间:2016-12-27 00:47:07

标签: c# html asp.net

我正在尝试使用我在控制器中设置的变量作为img标记内的src。我直接复制了字符串,它起作用,所以我知道我的路径是正确的。但是,我无法弄清楚如何将我创建的变量放入img标记中。

这是我的控制器:

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace dojodachi.Controllers
{
    public class HomeController : Controller
    {
        // GET: /Home/
        [HttpGet]
        [Route("")]
        public IActionResult Index()
        {
            ViewData["Tree"] = "~/images/regular_tree.jpeg";
            return View();
        }
    }
}

这是我的cshtml文件

<div id = wrapper>
    <p>Fullness:    Happiness:      Meals:     Energy</p>
    <div id = inside>
        <img src="@ViewData['Tree']" alt="Regular Tree"> //How do I place my variable in this img tag?
        <p></p>
    </div>
</div>

2 个答案:

答案 0 :(得分:2)

只需在外部使用单引号,在属性上使用双引号:

<img src='@ViewData["Tree"]'

如果您使用的是C#4,也可以使用ViewBag代替ViewData

在控制器上:

ViewBag.Tree = "~/images/regular_tree.jpeg";

然后查看:

<img src="@Url.Content(ViewBag.Tree)"

答案 1 :(得分:0)

这是一个老问题,但今天有类似的问题,所以也许可以帮助其他人,解决如下:

控制器:

ViewData["Tree"] = "images/regular_tree.jpeg";

查看:

<img src="~/@ViewBag.Tree">