我是MVC 3的新手,还在学习。我目前正在构建一个静态的2页网站,它在两个页面上都有不同的图像,但它们位于同一个地方。我被告知我可以使用ViewBag根据我所在的页面更改此图像,但是我还没有从哪里开始将这个应用到我的网站。
任何帮助将不胜感激。感谢您的时间。
答案 0 :(得分:2)
在控制器的Action方法中,像这样制作ViewBag或ViewData
ViewBag.Imagename="nameofimage";
ViewData["img"]="nameofimage";
在您的视图中,您可以像这样制作img标签
<img src="@ViewBag.Imagename">
或者如果您已创建ViewData
<img src="@ViewData["img"]">
答案 1 :(得分:1)
出于某种原因,当我尝试使用
时,它确实不为我工作@ViewBag.BackgroundImage = "~/Content/images/image.jpg"
...
<img src="@ViewBag.BackgroundImage" />
但 为我工作的是
@ViewBag.BackgroundImage = "image.jpg"
...
<img src = "~/Content/images/@(ViewBag.BackgroundImage)" />
答案 2 :(得分:0)
<img src="~/Content/images/@(ViewContext.RouteData.Values["action"].ToString().ToLower())_img.jpg">
和索引操作方法的图片名称将是“index_img.jpg”
答案 3 :(得分:0)
对于那些想要在viewbag中使用完整路径的人,请使用此
@ViewBag.BackgroundImage = "Content/images/image.jpg"
...
<img src="~/@ViewBag.BackgroundImage" />
在"~/"
中缺少src="..."
的Hallordylo示例无法使用完整路径的原因,并且此符号"~/"
不应位于ViewBag中。