gridview的第二列是它自带的hyperlinkfield我想获得这个hyperlinkfield的datanavigateUrl值HyperLinkField myhy = gridviewRow1.cells[1].controls[0]?--->>报错,control类型不能转化成hyperlinkfield

解决方案 »

  1.   

    用int count = gridviewRow1.cells[1].controls 看看有几个ChildControls
    一般是多个
    并不是第一个controls[0]
    你可以设置断点
    然后点快速查看gridviewRow1.cells[1].controls 
    看看那个 controls[i] 是你要的
    如果只有一个HyperLink 的话
    估计是 第二个吧也就是 i是1
      

  2.   

     gridviewRow1.cells[1].controls[1] as HyperLink; 
      

  3.   

    试一下:gridView.Columns[columnIndex][rowIndex] as HyperLinkField;其中columnIndex是链接列的索引号,rowIndex是你访问的行的索引号
      

  4.   

    HyperLinkField要作为HyperLink来处理
      

  5.   

    Response.Write((GridView1.Rows[1].Cells[0].Controls[0] as HyperLink).NavigateUrl);如果不行换
    Response.Write((GridView1.Rows[1].Cells[0].Controls[1] as HyperLink).NavigateUrl);
      

  6.   

    只要用到as hyperlink的地方都报错,提示control不能转换成hyperlink
      

  7.   

    报错是这个hyperlinkfield 而不是hyperlink 不一样!!~
      

  8.   

    GridView1.Rows[1].Cells[0].Controls[0] 
    首先判断下你这个索引位置对不对,是cells 0 和controls 0位置吗?中间有其他的么,如label等如果没错的话((HyperLink) GridView1.Rows[1].Cells[0].Controls[0]).NavigateUrl 理论上讲是绝对可以取到值的!
      

  9.   

    谢谢大家,
    hubblebubbleping和pher2008下次奉上,谢谢