0

我有一个 GridView -

<asp:GridView ID="table_example" Runat="server" 
DataSourceID="SqlDataSource3" AutoGenerateColumns="False" 
ClientIDMode="Static" onprerender="table_example_PreRender">
    <Columns>
        <asp:TemplateField>
     <HeaderTemplate>
         <asp:Label ID="Label1" runat="server" Text="Select"></asp:Label>

     </HeaderTemplate>
     <ItemTemplate>
        <asp:CheckBox ID="chkRow" runat="server" OnCheckedChanged="CheckBoxPN_CheckedChanged" AutoPostBack="true"/>
     </ItemTemplate>
  </asp:TemplateField>
        <asp:BoundField HeaderText="profileID" DataField="profileID" 
                        SortExpression="profileID"></asp:BoundField>
        <asp:BoundField HeaderText="profileName" DataField="profileName" 
                        SortExpression="profileName"></asp:BoundField>
    </Columns>
</asp:GridView>

后面的代码在哪里chkRow-

protected void CheckBoxPN_CheckedChanged(Object sender, EventArgs e)
    {
        CheckBox chk = (CheckBox)sender;
        GridViewRow row = (GridViewRow)chk.NamingContainer; 

        //when a user clicks the checkbox I need the string from profileName in that row. 

    }

在调试时,我可以得到 checkBox changed 事件,但是需要profileName从相应的行单元格中检索单元格中的字符串。

我试过这样的东西 -

string c = row.Cells("profileName").value.toString();

但是这不起作用,我怎样才能得到字符串?

4

2 回答 2

4

如果你使用 aBoundField你需要使用Cells[index].Text. 因为它在第三列:

string profileName = row.Cells[2].Text;
于 2013-01-17T17:15:20.940 回答
0

你可以给喜欢

例如:你可以马上给个赞;

string profilename = gridview.Rows[0].Cells[1].Text;
于 2013-01-17T17:23:04.033 回答