我是新来的MVC 3和仍然在学习。 我目前正在建立一个静态的第2页网站,其中有两个页面上不同的图像,但都位于同一个地方。 有人告诉我,我可以使用ViewBag取决于我是什么页面上这一形象改变,但我还没有得到一个线索从哪里开始将其应用到我的网站。
任何帮助将不胜感激。 感谢您的时间。
我是新来的MVC 3和仍然在学习。 我目前正在建立一个静态的第2页网站,其中有两个页面上不同的图像,但都位于同一个地方。 有人告诉我,我可以使用ViewBag取决于我是什么页面上这一形象改变,但我还没有得到一个线索从哪里开始将其应用到我的网站。
任何帮助将不胜感激。 感谢您的时间。
在您的控制器的操作方法,使ViewBag或ViewData的这样
ViewBag.Imagename="nameofimage";
ViewData["img"]="nameofimage";
在你看来,你可以作出这样的img标签
<img src="@ViewBag.Imagename">
或者,如果你已经创建的ViewData
<img src="@ViewData["img"]">
出于某种原因,它并没有为我工作,当我使用简单的尝试
@ViewBag.BackgroundImage = "~/Content/images/image.jpg"
...
<img src="@ViewBag.BackgroundImage" />
但是, 没有工作对我来说是
@ViewBag.BackgroundImage = "image.jpg"
...
<img src = "~/Content/images/@(ViewBag.BackgroundImage)" />
我个人不喜欢在指定控制器相关的任何观点,我使用的命名动作方法名称和图像之间的约定:
<img src="~/Content/images/@(ViewContext.RouteData.Values["action"].ToString().ToLower())_img.jpg">
和索引操作方法画面名称将是“index_img.jpg”
对于那些谁想要使用完整路径viewbag,使用此
@ViewBag.BackgroundImage = "Content/images/image.jpg"
...
<img src="~/@ViewBag.BackgroundImage" />
为什么hallordylo例如不完整路径工作的原因是缺少"~/"
在src="..."
,这标志"~/"
不应该是内部ViewBag。