日期:2014-05-18  浏览次数:20499 次

很急的问题 gridview的
我的gridview前台代码是
[code=C#][/code]
 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
  DataSourceID="AccessDataSource1" 
  onselectedindexchanged="GridView1_SelectedIndexChanged" 
  DataKeyNames="username">
  <Columns>
  <asp:BoundField DataField="username" HeaderText="username" 
  SortExpression="username" />
  <asp:BoundField DataField="position" HeaderText="position" 
  SortExpression="position" />
  <asp:BoundField DataField="xueli" HeaderText="xueli" 
  SortExpression="xueli" />
  <asp:BoundField DataField="school" HeaderText="school" 
  SortExpression="school" />

  <asp:HyperLinkField DataNavigateUrlFormatString="Detailview.aspx?username={0}" 
  Text="查看" NavigateUrl="~/admin/Detailview.aspx" />

  </Columns>
  </asp:GridView>
  <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/db1.mdb" 
  SelectCommand="SELECT [username], [position], [school], [xueli] FROM [userdetail] WHERE ([position] = ?)">
  <SelectParameters>
  <asp:SessionParameter Name="position" SessionField="12" Type="String" />
  </SelectParameters>
  </asp:AccessDataSource>

点击查看是可以显示出detailview这个页面,但是没有数据显示出来
我的问题是如何获取到这个gridview的 username的属性呢,也就是说根据username的值来查询对应名字的所有信息,
我的detailview需要获取这个值,我自己用的方法是这样的
 string a = this.GridView1.DataKeys["username"].Value.ToString();但是有错误提示说不包含gridview的定义
高人指点下!
 

------解决方案--------------------
在绑定gridview的时候定义主键了吗?
------解决方案--------------------
你想要哪一行的那一列的值都能拿到
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
str[i]= this.GridView1.Rows[i].Cells[j].Text
}
------解决方案--------------------
<asp:HyperLinkField DataNavigateUrlFormatString="Detailview.aspx?username={0}"
Text="查看" NavigateUrl="~/admin/Detailview.aspx" />

 <asp:HyperLinkField DataNavigateUrlFormatString="Detailview.aspx?username={0}"
Text="查看" DataNavigateUrlFields="你需要跳转条件字段" DataTextField="你可以选择绑定的字段" />
------解决方案--------------------
Detailview获取方法
string userName=Request["username"].ToString();
------解决方案--------------------
探讨

this.GridView1.Rows[e.RowIndex].Cells[0].Text.ToString()就可以了