Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Gridview选择索引更改返回空值_.net_Vb.net - Fatal编程技术网

.net Gridview选择索引更改返回空值

.net Gridview选择索引更改返回空值,.net,vb.net,.net,Vb.net,选择返回null的索引行,但如果我删除AutoGenerateColumns=“False”属性,则该属性可以正常工作,但我无法使用AutoGenerateColumns,因为我需要gridview中的文本框 网格视图代码 <asp:GridView ID="GridView1" runat="server" class="table table-striped table-bordered table-hover" AutoGenerateColumns="False">

选择返回null的索引行,但如果我删除AutoGenerateColumns=“False”属性,则该属性可以正常工作,但我无法使用AutoGenerateColumns,因为我需要gridview中的文本框

网格视图代码

 <asp:GridView ID="GridView1" runat="server"   class="table table-striped table-bordered table-hover" AutoGenerateColumns="False">
                 <Columns>
                       <asp:CommandField ShowSelectButton="True" />
                       <asp:TemplateField HeaderText="ID">
                           <ItemTemplate>
                            <%# Eval("ID") %>
                           </ItemTemplate>
                     </asp:TemplateField >

                      <asp:TemplateField HeaderText="Case">
                           <ItemTemplate>
                            <%# Eval("Case") %>
                           </ItemTemplate>
                     </asp:TemplateField>
                         </Columns>
             </asp:GridView>

首先,如果希望文本框不自动生成列,则应使用TemplateColumns

其次,要获得SelectedIndexChanged中的行,您应该选择该行。在DataGrid中使用按钮是一种很好的方法。但是您应该将其CommandName属性设置为“Select”


好的,我自己解决了,为其他人添加了更新的代码

 <asp:TemplateField  HeaderText="ID">
      <ItemTemplate>
          <asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>'></asp:Label>  
      </ItemTemplate>
  </asp:TemplateField> 
 <asp:TemplateField  HeaderText="ID">
      <ItemTemplate>
          <asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>'></asp:Label>  
      </ItemTemplate>
  </asp:TemplateField> 
    Protected Sub GridView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridView1.SelectedIndexChanged

            Dim TestCase As String = DirectCast(GridView1.SelectedRow.FindControl("Label1"), Label).Text

    End Sub