Pass GridView column value to Javascript function - OnClientClick

11,486

Solution 1

You can pass the parameter to the JS function this way

OnClientClick=<%# "GetEmailAddress('" + Eval("creUser") + "')" %>

this will became in

OnClientClick="GetEmailAddress('yourValue')"

Solution 2

you can simply replace the <asp:button> with an html button, and use onclick to call your javascript function, and if you need a server side function add runat="server"

Hope this will help

Share:
11,486
w0051977
Author by

w0051977

Updated on June 26, 2022

Comments

  • w0051977
    w0051977 almost 2 years

    I have a grid view like this:

    <asp:SqlDataSource ID="SqlPersistentOffenders" runat="server"></asp:SqlDataSource>
        <asp:GridView ID="GVPersistentOffenders" runat="server" DataSourceID="SqlPersistentOffenders" AllowPaging="true" AutoGenerateColumns="false">
        <Columns>
            <asp:TemplateField HeaderText="PersonID" Visible="false">
                <ItemTemplate>
                     <asp:Label ID="LabCreUser" runat="server" Text='<%# Bind("creUser")%>'></asp:Label>                       
                </ItemTemplate>
            </asp:TemplateField>
             <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button ID="ButtonSendEmail" runat="server" CommandName="SendEmail" CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>" Text="Send Email" OnClientClick="GetEmailAddress()"/>                     
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    

    The JavaScript looks like this:

    <script type="text/javascript">
            function GetEmailAddress(creuser) {
               //Do something
    }
    </script>
    

    How can I pass the value in LabCreUser for the row selected to the Javasript function?

    I have looked here: Passing variables to javascript in onclientclick and also a few other questions. Nothing I have tried has worked.