最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

asp.net - Pass GridView column value to Javascript function - OnClientClick - Stack Overflow

programmeradmin4浏览0评论

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.

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.

Share Improve this question edited May 23, 2017 at 12:17 CommunityBot 11 silver badge asked Apr 14, 2015 at 15:48 w0051977w0051977 15.8k38 gold badges177 silver badges362 bronze badges 0
Add a ment  | 

2 Answers 2

Reset to default 14

You can pass the parameter to the JS function this way

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

this will became in

OnClientClick="GetEmailAddress('yourValue')"

You can 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"

发布评论

评论列表(0)

  1. 暂无评论