传递gridview按钮点击rowindex后,我在下一页输入什么代码

时间:2011-04-17 21:10:10

标签: asp.net

当使用此代码

单击gridview按钮时,我将行索引值传递到下一页
if(e.CommandName=="select")
{
      int Id = int.Parse(e.CommandArgument.ToString());
      //Label1.Text = Id.ToString();
       Response.Redirect("~/manclothes1.aspx?Id=" + e.CommandArgument.ToString());

}

但我不知道我在下一页写的代码显示行数据 请任何人帮助我

3 个答案:

答案 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 。也不应该,真的。请求应完全独立于当前页面处理。