Passing Repeater Container.ItemIndex to a Javascri

2019-07-21 22:27发布

问题:

In C# Asp.Net I need to pass my repeater occurrence index into a Javascript function when OnClientClick is depressed from an ASP button. Here is my code

<asp:Button ID="btnGetNewQuote" 
            Text="Get New Quote" 
            class="pcbutton" 
            runat="server" 
            OnCommand="GetNewQuote" 
            CommandArgument ='<%# Container.ItemIndex %>'  
            OnClientClick="return getNewQuote(<%# Container.ItemIndex %>) />

If I hard code ....OnClientClick="return getNewQuote(0)"> it works and the JS gets invoked, but as soon as I put the # Container.ItemIndex # in there the JS gets overlooked and it just posts back to the code behind...

Passing the Container.ItemIndex into JS Functions works every where else on the page except this OnClientClick ?

does anyone know why this is and what I can do to get around it?

回答1:

Try this

OnClientClick='<%# "return getNewQuote(" + Container.ItemIndex + ")" %>' 

Instead of

OnClientClick="return getNewQuote(<%# Container.ItemIndex %>)


回答2:

If we want to use in vb.net

OnClientClick='<%# "return getNewQuote(" & Container.ItemIndex & ")" %>'

otherwise it will give exception string is not in correct format