C# 如何将Repeater行ID传递给javascript/jquery并更改图像

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,但是,

我想做的是:

我有一个表(中继器),显示了各种会话。在每节课上,我都可以计算你的费用。为此,我使用了linkButtonlnkGenerate。 生成费用后,自动更改图像,并变为lnkDelete。(这在ascx.cs中完成)


一场
会话值
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脚本保持与以前相同。