asp.net C# 使用 javascript 函数从 gridview 获取选定行

我创建了一个 javascript 函数来从 gridview 中获取选定的行,当我使用 时它工作正常BoundField DataField,但是当我在 gridview 中使用时label它ItemTemplate会返回一个值,但带有 html 代码。


例如当我使用时BoundField DataField我得到这个:


user name 

当我在里面使用标签时ItemTemplate我得到这个:


<span id="gvCustomers_Label4_6">user name</span>

这是我的代码:


<script type ="text/javascript" >

    function GetSelectedRow(UserLink) {

        var row = UserLink.parentNode.parentNode;

        var Userid = row.cells[1].innerHTML;

        alert(Userid);

        return false;

    }

</script>

这是网格视图代码:


<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false" AllowPaging="true" OnPageIndexChanging="OnPaging">        

    <Columns>

        <asp:TemplateField HeaderText="user name">

            <ItemTemplate>

                <asp:Label ID="Label4" Text='<%#  Eval("user_name")  %>' runat ="server"/>

            </ItemTemplate>

        </asp:TemplateField>


        <asp:TemplateField>

            <ItemTemplate>

                <asp:Button ID="ButtonSearch" runat="server" ClientIDMode="Static"  Text='select'  OnClientClick = "return GetSelectedRow(this)" CommandArgument ='<%# Bind("user_name") %>' />

            </ItemTemplate>

        </asp:TemplateField>

    </Columns>

</asp:GridView>


萧十郎
浏览 97回答 2
2回答

PIPIONE

如果单元格中有多个跨度或其他元素,则可以执行此操作row.cells[1].getElementsByTagName("span")[0].innerHTML;

慕侠2389804

您需要检查子节点,如果存在,则从中获取值。像这样的东西:<script&nbsp; type ="text/javascript" >&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; function GetSelectedRow(UserLink) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var row = UserLink.parentNode.parentNode;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var Userid;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(row.cells[1].firstChild) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Userid = row.cells[1].firstChild.innerHTML;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Userid = row.cells[1].innerHTML;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alert(Userid);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return false;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; </script>我还没有测试过这段代码,但它应该能给你这个想法。根据需要修改它。此代码示例做出了一些可能会破坏它的假设,因此可能需要更加稳健。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript