当使用此代码
单击gridview按钮时,我将行索引值传递到下一页if(e.CommandName=="select")
{
int Id = int.Parse(e.CommandArgument.ToString());
//Label1.Text = Id.ToString();
Response.Redirect("~/manclothes1.aspx?Id=" + e.CommandArgument.ToString());
}
但我不知道我在下一页写的代码显示行数据 请任何人帮助我
答案 0 :(得分:0)
在ASP.NET中,您实际上并未将代码传递给新页面。而是修改当前页面上的控件,ASP.NET框架为您重新呈现页面。而不是Response.Redirect行,你想要像
这样的东西 DataGrid1.EditItemIndex = Id;
答案 1 :(得分:0)
在manclothes1.aspx的page_load中,您可以尝试
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["Id"] != null)
{
var id = Request.QueryString["Id"];
// do something with id variable
...
}
}
答案 2 :(得分:0)
您可能希望引用当前页面上的任何代码,首先使用数据填充gridview。实质上,当前页面上的代码获取许多行以填充gridview时,manclothes1.aspx
页面上的代码将获得一行。如果它是来自数据库的数据,那么查询可能会非常相同,但有一个额外的WHERE
子句来过滤(我假设)一个ID值,这可能是一个主键(或 主键,如果我们只讨论一个表。)
要将此置于上下文中,对Response.Redirect()
的调用正在告诉客户端(浏览器)发出一个全新的请求(即GET
请求),以获取全新的资源(manclothes.aspx
带有查询字符串参数)。因此,请理解“下一页”在当前页面上知道gridview的 nothing 。也不应该,真的。请求应完全独立于当前页面处理。