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;
}
我用的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;
}
<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);
}
<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>
你可以参考2L的demo来完成你的需求
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);
}