GridView控件中每一行有个链接,怎么把这一行的数据传递到其他页面??关键是如何取出GridView控件这一行中的值啊???
我用的access数据库  下面是填充GridView的代码
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" + HttpContext.Current.Server.MapPath(@"~/minisurvey_360/#db.mdb");
            OleDbConnection con = new OleDbConnection(strCon);
            string str = "SELECT e1.name,r.relation,e2.name from relationship r,employee e1,employee e2 where r.employee1=e1.id and r.employee2=e2.id and e1.name='" + Label1.Text.Trim() + "'";
            con.Open();
            OleDbCommand c = new OleDbCommand(str, con);
            OleDbDataAdapter oda = new OleDbDataAdapter(c);
            DataSet ds = new DataSet();
            oda.Fill(ds, "table1");
            this.GridView1.DataSource = ds.Tables["table1"];
            this.GridView1.DataBind();
            c.Dispose();
            con.Close();下面是每一行链接的方法 
怎么把GridView中每一行的数据 通过这一行的链接传递到其他页面???
怎么取出GridView这一行的数据????public string tolink(string guanxi)
    {
        int g = Convert.ToInt32(guanxi);
        string ss = "";
        switch (g)
        {
            case 1:
                ss = "question3.aspx";
                break;
            case 2:
                ss = "question2.aspx";
                break;
            case 3:
                ss = "question1.aspx";
                break;
        }
        return ss;
    }

解决方案 »

  1.   

    我做了一个demo,你参考一下 <asp:GridView ID="GridView1" runat="server">
                <Columns>
                
                    <asp:BoundField HeaderText="Id"  DataField="Id">
                  </asp:BoundField>
                    <asp:TemplateField>
                        
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">LinkButton</asp:LinkButton>
                        </ItemTemplate>
                        
                    </asp:TemplateField>
                </Columns>
            
            </asp:GridView>
       protected void LinkButton1_Click(object sender, EventArgs e)
            {
                GridViewRow row = (sender as LinkButton).Parent.Parent as GridViewRow;
                string  id = row.Cells[0].ToString(); //获取所点击的linkbutton所在行的第一列数据
                Response.Redirect("aaa.aspx?id="+id);
            }
      

  2.   

     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField DataField="e1.name" HeaderText="当前登录人" />
                    <asp:BoundField DataField="e2.name" HeaderText="调查人姓名" />
                    <asp:TemplateField HeaderText="关系">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("relation") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:DropDownList ID="DropDownList1" runat="server" SelectedValue='<%# Eval("relation") %>' Enabled="False">
                                <asp:ListItem Value="3" Selected="True">下级</asp:ListItem>
                                <asp:ListItem Value="2">同级</asp:ListItem>
                                <asp:ListItem Value="1">上级</asp:ListItem>
                            </asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="填写问卷">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# tolink(Eval("relation").ToString()) %>'>填写问卷</asp:HyperLink>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="完成状态">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            
            </asp:GridView>
      

  3.   

    看了你的代码
    你可以参考2L的demo来完成你的需求
      

  4.   


     protected void LinkButton1_Click(object sender, EventArgs e)
            {
                GridViewRow row = (sender as LinkButton).Parent.Parent as GridViewRow;
                string id = row.Cells[0].Text; //此处更正,sorry
                Response.Redirect("aaa.aspx?id="+id);
            }