Gridview ItemTemplate OnClientClick javascript function with DataItem value as parameter

rob waminal picture rob waminal · Aug 13, 2010 · Viewed 10.6k times · Source

I have a button inside my <ItemTemplate> in GridView and I want to call a javascript function on the OnClientClick of that button passing the DataItem value as a parameter of the javascript function

<ItemTemplate>
    // Labels and Html styles
    ....
    <asp:Button ID="btnEdit" runat="server" Text="Edit" OnClientClick='javascript:CreateEditAddress(<%#Bind("Id") %>);' />
    <asp:Button ID="btnDelete" runat="server" Text="Delete" />
</ItemTemplate>

If I will not put a parameter in CreateEditAddess() this works well but I need the parameter.

I know I can put the OnClientClick event value in OnRowDataBound event of the gridview but I don't want to put it in CodeBehind. It seems like the server tag is not parsed correctly.

Am I missing something here?

Answer

Leniel Maccaferri picture Leniel Maccaferri · Aug 13, 2010

See this:

loading gridview with hyperlink column

I think you should use DataBinder.Eval(Container, "DataItem.YourProperty").