【发布时间】:2009-01-26 22:53:59
【问题描述】:
我试图在点击时更改图像,类似于 SO 对投票箭头和复选标记所做的操作。
我想:
1- 让每个图像成为 Ajax.ActionLink 并在单击时返回不同的图像。
2- 将图像作为超链接的背景,并使用 Ajax.ActionLink 替换 css 类以获取新图像。
3- 改用 JQuery。
哪种方法最好,你能提供例子吗?
【问题讨论】:
标签: asp.net jquery asp.net-mvc asp.net-ajax
我试图在点击时更改图像,类似于 SO 对投票箭头和复选标记所做的操作。
我想:
1- 让每个图像成为 Ajax.ActionLink 并在单击时返回不同的图像。
2- 将图像作为超链接的背景,并使用 Ajax.ActionLink 替换 css 类以获取新图像。
3- 改用 JQuery。
哪种方法最好,你能提供例子吗?
【问题讨论】:
标签: asp.net jquery asp.net-mvc asp.net-ajax
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,如果你使用asp web控件并且想在jquery而不是类中调用id,那么它有点不同。如果没有asp web控件,它会这样调用id:
("#image1").click(function() {
但是使用像 asp:imagebutton 这样的 asp web 控件会是这样的:
("#ct100_******image1").click(function() {
星号可以是任何东西..您必须先查看源代码才能查看呈现的实际 id 名称,因为 asp.net 更改了您将属性设置为 runat=Server 的控件的 id 名称默认情况下,您必须设置 runat=server 才能编译 asp web 控件
【讨论】:
使用 jQuery。单击时,执行 ajax 调用并切换类。
【讨论】: