我原来在dino815613(浪客)的帖子上面看过类似的问题了,想不到现在我也遇上了,就是在datagrid里面的一列模板里我放进了一个超链接,请问怎么实现点击一行里面的超链接就在另外一个页面显示对应行的数据呢?主要的问题是怎么实现点击当前行啊?不知道在哪里写代码,我用session做过,但是不知道哪里错了,高手指点一下好吗?谢谢了

解决方案 »

  1.   

    加一个模板列,指定绑定的链接URL 
    a.aspx?ID={0}  字段:ID
    指定打开窗口的类型:_Blank
    就行了.
      

  2.   

    把当前行的主键用session或者在URL里面保存,然后到另外一个页面里面再把它取出来
    再在数据库里面搜索相关字段就可以了。如:
    <asp:HyperLinkColumn DataNavigateUrlField="teacherId" DataNavigateUrlFormatString="teacherInfoDetail.aspx?teacherId={0}"DataTextField="teacherId" HeaderText="教师ID" NavigateUrl="teacherInfoDetail.aspx"></asp:HyperLinkColumn>
      

  3.   

    谢谢,我这样写为什么在链接的页面上面为什么不能显示相应的数据呢?请问在我写的语句上面怎么修改呢?
    <asp:HyperLink id="watch" runat="server" NavigateUrl='<%#"showText.aspx?ID="+DataBinder.Eval(Container.DataItem,"ID").ToString()%>' Target="_blank">查看</asp:HyperLink>
      

  4.   

    补充一句,我上面的语句什么时候在弹出的页面上面显示的都是datagrid上面第一行的内容的,不是我点击哪一行就显示哪一行的数据 的,请问怎么修改呢?
      

  5.   

    <asp:HyperLink id="watch" runat="server" NavigateUrl='showText.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"ID")%>' Target="_blank">查看</asp:HyperLink>
      

  6.   

    <asp:HyperLinkColumn Text="修改" Target="_blank" DataNavigateUrlField="id" DataNavigateUrlFormatString="Admin_AdminSystemModuleModify.aspx?id={0:d}"
    DataTextField="id" HeaderText="修改" NavigateUrl="Admin_AdminSystemModuleModify.aspx" DataTextFormatString="修改"></asp:HyperLinkColumn>
      

  7.   

    还有一个问题,我在后台哪里写session呢?因为我用的是模板的超链接,不知道哪里可以写啊
      

  8.   

    <a href='123.aspx?Id=<%=Session["Page"]%>'><%=Session["Check"]%></a>
      

  9.   

    谢谢,但是我对脚本不是很清楚,能解析一下吗?我不知道加在哪里啊?
    我前台的代码是:
    <ItemTemplate>
    <asp:HyperLink id="watch" runat="server" NavigateUrl='showText.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"ID")%>' Target="_blank">查看</asp:HyperLink>
    </ItemTemplate>
      

  10.   

    广告
    JSP,ASP和ASP.NET朋友加入,一起研究学习之用!群号:13156076
      

  11.   

    datagrid那里换成linkbutton试试吧
    <asp:LinkButton id="chakan" runat="server" CommandName="show">查看</asp:LinkButton>然后在ItemCommand里面写
    if(e.CommandName=="show")
    Response.Redirect("showText.aspx?ID="+e.Item.Cells[0].Text+"&Name="+e.Item.Cells[1].Text);另外一个页面写string dfdf=Request.QueryString["ID"].ToString()就行了
      

  12.   

    谢谢dino815613(浪客),我按照你的方法成功了,谢谢