为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

萧十郎 2023-09-28 17:40:33
我创建了一个 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>
查看完整描述

2 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

如果单元格中有多个跨度或其他元素,则可以执行此操作

row.cells[1].getElementsByTagName("span")[0].innerHTML;


查看完整回答
反对 回复 2023-09-28
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

您需要检查子节点,如果存在,则从中获取值。


像这样的东西:


<script  type ="text/javascript" >

                function GetSelectedRow(UserLink) {

                    var row = UserLink.parentNode.parentNode;

                    var Userid;

                    if(row.cells[1].firstChild) {

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

                    } else { 

                         Userid = row.cells[1].innerHTML;

                    }

                    alert(Userid);

                    return false;

                }


      </script>

我还没有测试过这段代码,但它应该能给你这个想法。根据需要修改它。


此代码示例做出了一些可能会破坏它的假设,因此可能需要更加稳健。


查看完整回答
反对 回复 2023-09-28
  • 2 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信