Asp.net 从gridview中选择列并传递给变量

Asp.net 从gridview中选择列并传递给变量,asp.net,gridview,datagridviewcolumn,Asp.net,Gridview,Datagridviewcolumn,下面是我试图从10中选择列数据的代码,但是代码并没有正常工作 string strSuppId = GridView1.SelectedRow.Cells[10].Text; 错误消息:对象引用未设置为对象的实例。 我的标记 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="pProductId" DataSourceID="AccessDataSour

下面是我试图从10中选择列数据的代码,但是代码并没有正常工作

  string strSuppId = GridView1.SelectedRow.Cells[10].Text;
错误消息:对象引用未设置为对象的实例。 我的标记

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="pProductId" DataSourceID="AccessDataSource1">
    <Columns>
        <asp:BoundField DataField="pProductId" HeaderText="pProductId" 
            InsertVisible="False" ReadOnly="True" SortExpression="pProductId" />
        <asp:BoundField DataField="pProductName" HeaderText="pProductName" 
            SortExpression="pProductName" />
        <asp:BoundField DataField="pProductImage" HeaderText="pProductImage" 
            SortExpression="pProductImage" />
        <asp:BoundField DataField="pProductType" HeaderText="pProductType" 
            SortExpression="pProductType" />
        <asp:BoundField DataField="pProductWeight" HeaderText="pProductWeight" 
            SortExpression="pProductWeight" />
        <asp:BoundField DataField="pProductDesign" HeaderText="pProductDesign" 
            SortExpression="pProductDesign" />
        <asp:BoundField DataField="PProductColor" HeaderText="PProductColor" 
            SortExpression="PProductColor" />
        <asp:BoundField DataField="pProductTransparency" 
            HeaderText="pProductTransparency" SortExpression="pProductTransparency" />
        <asp:BoundField DataField="pProductQuantity" HeaderText="pProductQuantity" 
            SortExpression="pProductQuantity" />
        <asp:BoundField DataField="pProductUnitPrice" HeaderText="pProductUnitPrice" 
            SortExpression="pProductUnitPrice" />
        <asp:BoundField DataField="pSupplierId" HeaderText="pSupplierId" 
            SortExpression="pSupplierId" />
    </Columns>

尝试下面的编码

将变量声明为全局变量

public string _Data = "";
编写Gridview SelectedIndexed事件,如下所示

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) {
    string data = "";
    GridViewRow row = GridView1.SelectedRow;
    _Data = row.Cells[10].Text;
}
string strSuppId = GridView1.SelectedRow.Cells[10].Text;

to

string strSuppId = _Data
然后按如下方式更改编码

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) {
    string data = "";
    GridViewRow row = GridView1.SelectedRow;
    _Data = row.Cells[10].Text;
}
string strSuppId = GridView1.SelectedRow.Cells[10].Text;

to

string strSuppId = _Data

在按钮之前单击从GridView中选择行。。。然后,它只返回数据……

“不能正常工作”并不能准确地帮助我们理解发生了什么。什么不起作用?当它不起作用时会发生什么?当它工作时会发生什么?第11列是
边界字段
还是
模板字段
?(请注意,集合在.NET中是以零为基础的)@MalcolmNathanielNg:显示网格的aspx标记。了解“不工作”的真正含义也很重要(不要在没有借口的情况下用这个词来描述你的问题!)。您希望从何处获取值(例如,在事件处理程序中、页面加载等)?共享您编写的代码块。。。然后它很容易帮助…嗨,伙计们刚刚编辑了它的代码文件是由一个按钮触发的,什么!?除了得到最后一行最后一列中的文本外,它还能做什么呢?我不明白下面的代码。。。(获取所有列值)该代码用于检索网格视图中的所有列值。。。它逐行搜索网格视图并获取列值…@pan我不确定为什么它给出了数据类型不匹配的错误