0

在行选择时,我似乎无法将我的 gridview 中的数据传递到我的 gridview 之外的文本框。该事件似乎正在触发,但文本框总是充满了  。我无法弄清楚为什么会发生这种情况,因为 gridview 中的所有单元格都不是空白的。我已经在这个网站和其他网站上研究了这个问题几天,但没有运气。这是我的 aspx.cs 的一部分:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    txtBLName.Text = GridView1.Rows[GridView1.SelectedIndex].Cells[1].Text;
}

这是我的gridview代码:

<asp:GridView ID="GridView1"
    runat="server"
    AutoGenerateColumns="False"
    onselectedindexchanged="GridView1_SelectedIndexChanged" >
    <Columns>
        <asp:CommandField ShowSelectButton="true" SelectText="Edit" />
        <asp:BoundField DataField="LastName" HeaderText="Last Name" SortExpression="LastName"/>
     </Columns>
</asp:GridView>

有人可以帮忙吗?谢谢!

4

1 回答 1

0

它正在工作

ASP 代码

 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
 <asp:GridView ID="GridView2"
runat="server"
AutoGenerateColumns="False"
onselectedindexchanged="GridView2_SelectedIndexChanged" >
<Columns>
    <asp:CommandField ShowSelectButton="true" SelectText="Edit" />
    <asp:BoundField DataField="LastName" HeaderText="Last Name" SortExpression="LastName"/>
 </Columns>

C# 代码

protected void Page_Load(object sender, EventArgs e)
{

    DataTable oDT = new DataTable();

    oDT.Columns.Add("edit",typeof(string));
    oDT.Columns.Add("LastName", typeof(string));

    oDT.Rows.Add("ad", "1212121");
    oDT.Rows.Add("aad", "1asdasd212121");

    GridView2.DataSource = oDT;
    GridView2.DataBind();      

}

protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
{
    GridViewRow row = GridView2.SelectedRow;
    TextBox1.Text = row.Cells[1].Text;
}

结果

在此处输入图像描述

于 2016-02-24T17:32:32.630 回答