2

我是 MVC 3 的新手,仍在学习。我目前正在构建一个静态 2 页网站,该网站在两个页面上都有不同的图像,但位于同一个地方。有人告诉我,我可以使用 ViewBag 根据我所在的页面更改此图像,但是我不知道从哪里开始将其应用于我的网站。

任何帮助将不胜感激。感谢您的时间。

4

4 回答 4

3

在控制器的 Action 方法上,像这样制作 ViewBag 或 ViewData

ViewBag.Imagename="nameofimage";

ViewData["img"]="nameofimage";

在您看来,您可以像这样制作 img 标签

<img src="@ViewBag.Imagename">

或者如果您创建了 ViewData

<img src="@ViewData["img"]">
于 2013-01-09T11:23:18.570 回答
2

出于某种原因,当我尝试使用它时它对我不起作用

@ViewBag.BackgroundImage = "~/Content/images/image.jpg"
...
<img src="@ViewBag.BackgroundImage" />

但对有用的是

@ViewBag.BackgroundImage = "image.jpg"
...
<img src = "~/Content/images/@(ViewBag.BackgroundImage)" />
于 2016-07-01T19:31:33.183 回答
0

我个人不喜欢在控制器中指定任何相关的视图,我在操作方法名称和图像之间使用命名约定:

<img src="~/Content/images/@(ViewContext.RouteData.Values["action"].ToString().ToLower())_img.jpg">

索引操作方法的图片名称为“index_img.jpg”

于 2013-07-31T13:00:40.103 回答
0

对于那些想要在 viewbag 中使用完整路径的人,使用这个

@ViewBag.BackgroundImage = "Content/images/image.jpg"
...
<img src="~/@ViewBag.BackgroundImage" />

缺少 hallordylo 示例无法使用完整路径的原因"~/"src="..."并且此标志"~/"不应位于 ViewBag 中。

于 2019-08-06T09:44:39.307 回答