简体   繁体   English

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

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

I have a simple gridview with button for each row, and I want to pass or display the value of user_full_name_ar in a label, I tried doing this using javascript function as shown below but it doesn't show the data it shows null,我有一个简单的网格视图,每行都有一个按钮,我想在标签中传递或显示 user_full_name_ar 的值,我尝试使用如下所示的 javascript 函数执行此操作,但它没有显示它显示为空的数据,

gridview code:网格视图代码:

<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 function to display value of label4 in gridview to label5 outside gridview :将 gridview 中 label4 的值显示到 gridview 外的 label5 的 javascript 函数:

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

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

you can use a CommandField in gridview您可以在 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>

after in selectedindexchenge event write code below在 selectedindexchenge 事件之后写下面的代码

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM