从控制器的视图MVC更改图像按钮图像

问题描述:

我是MVC的新手。我正在使用aspx和mvc创建一个书店网页应用程序。我有一个说可用或卖完的书的数据库。当用户点击一个下拉列表时,他们会选择一本书,它会在图书旁边显示一张图片,如果图片可用,该图片应该显示绿色复选标记,如果图片不可用,则显示红色X.该信息全部来自数据库。我的问题是如何在图书可用时更改图像。顺便说一下,我的图像存储在imgs下的Content文件夹中。从控制器的视图MVC更改图像按钮图像

我一直在寻找一段时间,还没有找到一个好的答案。任何帮助或任何网站,你可以建议将非常感谢。

我的图片说,这

<asp: Image ID = "Book_Availability" runat = "server" /> 

-----------更新---- 当我的意思是变化的,我的意思是改变IMAGEURL,使其指向不同的图片。在服务器端,我的值为0或1.当我得到1时,我想更新图像URL以指向来自控制器的不同ImageURL,以使其从X到复选标记。我不确定如何使用MVC完成此操作

+0

你是什么意思你如何改变图像?你会不会只使用if/then逻辑取决于数据库字段的值? – McGarnagle 2012-04-01 05:50:46

查看Razor syntax上的此链接。你可以通过类似的东西来实现:

@{ 
    string availableImage = Url.Content("~/Images/availableImage"); 
    string unavailableImage = Url.Content("~/Images/unavailableImage"); 
} 

<img src= "@(Model.IsAvailable ? availableImage : unavailableImage)" alt="" /> 

你也许可以使用jQuery将下拉事件处理程序添加到下拉菜单中。这可以反过来在某些控制器上对某个操作执行$(“#myimagewrapperexample”).load()事件,例如BooksController

该操作可以返回包含书籍当前图像的部分视图。或者它可能会返回true,false取决于书籍的可用性,并在javascript中切换图像。所有需要通过的动作都将成为本书的编号,然后您可以查看它以确定它的状态。

我从来没有在MVC项目中使用过asp标签,因此无法评论您的使用情况。如果您使用MVC 3是一个好主意,AlexC建议查看Razor语法。否则,您可能需要考虑使用MVC 2创建视图。此Microsoft link可能会帮助您摆脱这一方面。