asp.net C# 在单击按钮时将值从 gridview 传递到文本框

asp.net C# passing value from gridview to texbox on button click

我有一个简单的 gridview,每一行都有按钮,我想在标签中传递或显示 user_full_name_ar 的值,我尝试使用 javascript 函数执行此操作,如下所示,但是它不显示它显示空的数据,

网格视图代码:

<asp:Label ID="Label5" Text='transfer text here' runat ="server" />

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="user_name" DataSourceID="SqlDataSource1" Height="100px" Width="383px">
    <Columns>
        <asp:BoundField DataField="user_name" HeaderText="user_name" ReadOnly="True" SortExpression="user_name" />
        <asp:BoundField DataField="user_full_name_ar" HeaderText="user_full_name_ar" SortExpression="user_full_name_ar" />

        <asp:TemplateField HeaderText="user_full_name_ar"  SortExpression="user_full_name_ar">
           <ItemTemplate>
                <asp:Label ID="Label4" Text='<%# Session["lang"].ToString() == "en"? Eval("user_full_name_en") : Eval("user_full_name_ar")  %>' runat ="server" />
           </ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField>
           <ItemTemplate>
            <asp:Button ID="ButtonSearch" runat="server" text="select"  OnClientClick ="txt();" CommandArgument ='<%# Bind("user_name") %>' />
            </ItemTemplate>
        </asp:TemplateField>

    </Columns>
</asp:GridView>

javascript 将 gridview 中的 label4 的值显示到 gridview 外的 label5 的函数:

<script  type ="text/javascript" >
    function txt() {

        var t = document.getElementById("Label4");
        document.getElementById("Label5") = t.value;
    }
</script>

您可以在 gridview 中使用 CommandField

 <asp:Label ID="Label5" Text='transfer text here' runat ="server" />

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="user_name" DataSourceID="SqlDataSource1" Height="100px" Width="383px">
    <Columns>
    <asp:CommandField HeaderText="select" SelectText="select " ShowSelectButton="True">
                          </asp:CommandField>
        <asp:BoundField DataField="user_name" HeaderText="user_name" ReadOnly="True" SortExpression="user_name" />
        <asp:BoundField DataField="user_full_name_ar" HeaderText="user_full_name_ar" SortExpression="user_full_name_ar" />

              <asp:TemplateField HeaderText="user_full_name_ar"  SortExpression="user_full_name_ar">
                   <ItemTemplate>
                        <asp:Label ID="Label4" Text='<%# Session["lang"].ToString() == "en"? Eval("user_full_name_en") : Eval("user_full_name_ar")  %>' runat ="server" />
                   </ItemTemplate>
                   </asp:TemplateField>

        <asp:TemplateField>
       <ItemTemplate>
<asp:Button ID="ButtonSearch" runat="server" text="select"  OnClientClick ="txt();" CommandArgument ='<%# Bind("user_name") %>' />
         </ItemTemplate>
         </asp:TemplateField>

    </Columns>
</asp:GridView>

在 selectedindexchenge 事件中写入下面的代码

Label5.Text = GridView1.SelectedRow.Cells[2].Text;