C# 如何将Repeater行ID传递给javascript/jquery并更改图像
我想做的是: 我有一个表(中继器),显示了各种会话。在每节课上,我都可以计算你的费用。为此,我使用了linkButtonlnkGenerate。 生成费用后,自动更改图像,并变为lnkDelete。(这在ascx.cs中完成)C# 如何将Repeater行ID传递给javascript/jquery并更改图像,c#,javascript,jquery,asp.net,repeater,C#,Javascript,Jquery,Asp.net,Repeater,我想做的是: 我有一个表(中继器),显示了各种会话。在每节课上,我都可以计算你的费用。为此,我使用了linkButtonlnkGenerate。 生成费用后,自动更改图像,并变为lnkDelete。(这在ascx.cs中完成) 一场 会话值 0 ? ((会话)Container.DataItem.ValueSession.ToString():“-”%> 我想要的是: 单击图像生成成本,它将更改为“加载”图像,然后计算成本,转到lnkDelete。 我尝试过使用javascript,但是,
一场
会话值
0 ? ((会话)Container.DataItem.ValueSession.ToString():“-”%>
我想要的是:
单击图像生成成本,它将更改为“加载”图像,然后计算成本,转到lnkDelete。
我尝试过使用javascript,但是,每一行都有一个我无法获得的特定ID
建议?在尝试了我以前提出的解决方案后,我决定从头改写答案。 我在VS上创建了一个新项目,并测试了下面的代码。这是一个简化的版本,但它会像预期的那样工作: 1)请注意,您不再需要附加OnClient Click事件。
<head runat="server">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$(".linkButton").on("click", function (e) {
// As I don't have any code running on the code behind,
// it would replace the image and return to the original
// one pretty quick, so I'm stopping the postback.
e.preventDefault();
$(this).find("img").attr("src", "http://www.bedlingtonterriersfc.com/wp-content/uploads/2013/06/ball-50x50.png");
return true;
});
});
</script>
</head>
<asp:Repeater ID="rptr" runat="server" onitemcommand="rptr_ItemCommand">
<ItemTemplate>
<asp:LinkButton CssClass="linkButton" CommandName="cmd1" runat="server">
<asp:Image runat="server" AlternateText="" ImageUrl="http://static.miniclipcdn.com/images/awards/store/32_50.png" />
</asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
2)只需将CssClass定义到LinkButton,并将处理程序附加到click事件。
<head runat="server">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$(".linkButton").on("click", function (e) {
// As I don't have any code running on the code behind,
// it would replace the image and return to the original
// one pretty quick, so I'm stopping the postback.
e.preventDefault();
$(this).find("img").attr("src", "http://www.bedlingtonterriersfc.com/wp-content/uploads/2013/06/ball-50x50.png");
return true;
});
});
</script>
</head>
<asp:Repeater ID="rptr" runat="server" onitemcommand="rptr_ItemCommand">
<ItemTemplate>
<asp:LinkButton CssClass="linkButton" CommandName="cmd1" runat="server">
<asp:Image runat="server" AlternateText="" ImageUrl="http://static.miniclipcdn.com/images/awards/store/32_50.png" />
</asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
$(函数(){
$(“.linkButton”)。在(“单击”上,函数(e){
//因为我没有任何代码在代码背后运行,
//它将替换图像并返回原始图像
//一个很快,所以我要停止回发。
e、 预防默认值();
$(this.find(“img”).attr(“src”),”http://www.bedlingtonterriersfc.com/wp-content/uploads/2013/06/ball-50x50.png");
返回true;
});
});
问题是我需要在图像产生成本之前对其进行更改。不能是服务器端,但可以是javascript/jquery。但是在某些事件中更改它,例如单击链接按钮“lnkGenerate”中的?我有onclientclick。我将“var showImg(obj)=function()”更改为“var showImg=function(obj)”。我测试了,但是没有改变图像。呃。。。我发布的这段代码,您应该添加到JS文件并嵌入到页面标题中,或者简单地添加到页面的脚本标记中。OnClientClick脚本保持与以前相同。