方法一: 在gridview中每行放置一个LinkButton,通过点击事件获取:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowSorting="True"
BackColor="White">
<Columns>
<asp:BoundField DataField="rownum" HeaderText="序号">
<ItemStyle Height="20px" HorizontalAlign="Center" Width="40px" />
</asp:BoundField>
<asp:BoundField DataField="ProjectName" HeaderText="项目">
<ItemStyle Height="20px" />
</asp:BoundField>
<asp:BoundField DataField="CompanyName" HeaderText="单位名称" />
<asp:BoundField DataField="xianScoreTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="录入时间">
<ItemStyle Width="120px" />
</asp:BoundField>
<asp:TemplateField HeaderText="查看">
<ItemTemplate>
<asp:LinkButton CommandArgument='<%#Eval("ProjectID")+","+Eval("CompanyId")%>' CommandName='<%#Eval("typeid")%>'
ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">查看</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle Wrap="False"></PagerStyle>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowSorting="True"
BackColor="White">
<Columns>
<asp:BoundField DataField="rownum" HeaderText="序号">
<ItemStyle Height="20px" HorizontalAlign="Center" Width="40px" />
</asp:BoundField>
<asp:BoundField DataField="ProjectName" HeaderText="项目">
<ItemStyle Height="20px" />
</asp:BoundField>
<asp:BoundField DataField="CompanyName" HeaderText="单位名称" />
<asp:BoundField DataField="xianScoreTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="录入时间">
<ItemStyle Width="120px" />
</asp:BoundField>
<asp:TemplateField HeaderText="查看">
<ItemTemplate>
<asp:LinkButton CommandArgument='<%#Eval("ProjectID")+","+Eval("CompanyId")%>' CommandName='<%#Eval("typeid")%>'
ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">查看</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle Wrap="False"></PagerStyle>
</asp:GridView>
在后台LinkButton1的点击事件中添加:
protected void LinkButton1_Click(object sender, EventArgs e) //查看的点击事件
{
LinkButton but = (LinkButton)sender;
//如果用的是Button: Button but=(Button)sender
GridViewRow gvr = (GridViewRow)but.NamingContainer;
string Temp = gvr.Cells[2].Text; //获取当前选中行第 2 列的值
}