我正在使用转发器控件 - 转发器上的每个项目都会获得一个图像&一个链接按钮。
从功能方面来说,单击链接按钮会触发一个itemcommand(提供一个命令参数)。然后,此项目命令运行一些服务器端代码,以将与第一个转发器相关的数据填充为另一个转发器作为子列表。
从UI方面来看,转发器上的每个项目都将其图像不透明度向下缩小,但点击的链接按钮图像除外。
这是我遇到麻烦的地方:
$('.showSubCats').click(function (e) {
e.preventDefault();
$(".myImages").animate({ opacity: 0.2 }, 300);
$(this).parent().children('img').animate({ opacity: 1.0 }, 300);
});
这显示了当前点击的图像并且非常出色地隐藏了其余部分。但是我必须引入e.preventdefault(),因为itemcommand上的回发显然已经撤消了jquery刚刚对图像所做的工作。
通过引入.preventdefault(),我现在已经丢失了itemcommand,因为它被阻止了。哎呀。
以为我有过:
我是用这个想法鞭打死马还是我还能尝试别的什么?
这是我的项目命令代码:
protected void showSubCat_itemCommand(object sender, CommandEventArgs e)
{
using (var db = new ps.data.Entities1())
{
int id = int.Parse(e.CommandArgument.ToString());
var subCats = (from sc in db.vwSubCategories
where sc.primaryCategoryID == id
select sc).ToList();
SubCategories.DataSource = subCats;
SubCategories.DataBind();
currentCatChosen.Value = id.ToString();
}
}
答案 0 :(得分:0)
我尝试使用registerstartupscript从代码后面运行一些jquery,但它在DOM完成之前运行,我的图像恢复到1.0不透明度
IMO,这是正确的选择。至于图像还原......您是否尝试将代码包装在$(document).ready()
?