ASP.NET MVC:Ajax ActionLink还是jQuery解决方案?

3

我想实现类似于SO投票箭头和勾选标记的点击更换图像的功能。

我考虑以下三种方法之一:

1- 将每个图像作为Ajax.ActionLink,并在单击时返回不同的图像。

2- 将图像作为超链接的背景,并使用Ajax.ActionLink替换CSS类以获取新图像。

3- 使用JQuery。

哪种方法最好?你可以提供一些例子吗?

2个回答

5

jQuery是最好的选择,因为如果你在ASP.NET MVC中使用ActionLink,那么你需要为每个被点击的图像(动作方法)处理一个链接,这会在后期变得复杂。

在jQuery中,你可以像这样做,以减少困难:

 $(document).ready(function() {
       //image is the name of the class of your images
     $(".image").click(function() {

     $(".image").hide(); //just an example..
        });
 }) ;      

这将隐藏被点击的图片。请参考jQuery教程,以便在点击时使图片按照您所需的方式进行操作。可以向图片添加CSS样式或放大它等等。请注意,由于您正在使用ASP.NET,如果要在jQuery中调用ID而不是类,则有些不同。如果没有ASP Web控件,则调用ID的方法如下:

  ("#image1").click(function() {

但是如果使用像asp:imagebutton这样的asp网页控件,代码将类似于以下内容:
   ("#ct100_******image1").click(function() {

星号可以是任何内容...您需要先查看源代码才能确定实际呈现的 ID 名称,因为 ASP.NET 会更改设置属性为 runat=Server 的控件 ID 名称,而默认情况下,您必须将 ASP Web 控件的 runat 属性设置为 server 才能编译。

我在我的asp.net mvc网站上做了几乎相同的事情。即使有多个相同的图像,您也可以在单击时设置标识符,然后当您的ajax返回时再次访问该图像并根据需要更改src或class。 - anonymous
请记住,在asp.net中,您可以使用<%=image1.ClientID %>来获取值“("#ct100_******image1")”。 - Jan de Jager

0
使用jQuery。点击时,执行ajax调用并切换类。

你是指<img>还是href?我是在隐藏一个覆盖在另一个上面的图像吗? - zsharp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接