asp.net Gridview中点击编辑,在新页面打开进行编辑,求具体代码!在线等!

page1.aspx中有一个GridView,GridView中有很多行的内容,每行后边有一个编辑按钮,点击编辑按钮,打开一个新页面page2.aspx,在page2中有... page1.aspx中有一个GridView,GridView中有很多行的内容,每行后边有一个编辑按钮,点击编辑按钮,打开一个新页面page2.aspx,在page2中有几个TextBox来显示GridView中的内容。有一个按钮“更新文章”点击按钮,进行更新。求具体实现代码,越详细越好,尤其传值的地方,请加额外说明!QQ2865730672,邮箱ppoqxx@gmail.com 100分在线等! 展开
 我来答
乌芹0o
2013-07-31 · TA获得超过398个赞
知道小有建树答主
回答量:492
采纳率:66%
帮助的人:274万
展开全部

!这题挺熟悉的


 点击的时候跳转页面,用button linkbutton 都可以
 最主要的是获取当前行的ID
1 例如: int id = Convert.ToInt32(this.GridView1.Rows[e.RowIndex].Cells[0].Text.ToString());
当你获取到当前行的ID 那么更新数据就很容易
如:点击按钮的时候跳转
int id = Convert.ToInt32(this.GridView1.Rows[e.RowIndex].Cells[0].Text.ToString());
Response.Redirect("page2.aspx?id="+id);
在page2页面里接收 id
string id=Request.QueryString("id");
用id去查询数据库 然后赋值给textbox就可以了

2 刚又想到个方法:试试

编辑按钮,普通的button linkbutton就可以 不需用到gr的 编辑里的按钮


如:

  //把ID绑定到CommandArgument里
                        <asp:LinkButton ID="lbA" runat="server" OnClick="lbChars_Click" CommandArgument="<%# Eval("id")%>">点击</asp:LinkButton>
   
    protected void lbChars_Click(object sender, EventArgs e)
    {
        LinkButton lb = sender as LinkButton;
      string id=lb.CommandArgument();
      //在把id传到page2里即可
      Response.Redirect("page2.aspx?id="+id);
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2f01db5bb
2013-07-31 · TA获得超过258个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:316万
展开全部
现在做web的大部分人都不用gridview了,用repeater比较灵活方便一点!

不过概念都是一样的,获取到数据的主键ID,然后将ID传给Page2.aspx 这样传Page2.aspx?ID=123

然后在Page2.aspx 的Load事件里获取这个ID

string ID="";
if (Request.QueryString["ID"] != null)
{
ID=Request.QueryString["ID"]
然后根据获取到的ID去查询数据,把查询到的数据赋值给控件就可以了

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-31
展开全部
前台编辑按钮的属性里用CommandName="Update"标识
后台在
protected void gvLcList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "update")
{
//在这里写你获取当前行主键、和跳转的代码就行了。
}
}
追问
获取当前行,不行,报错String id =((TextBox)GridView1.Rows[e.RowIndex].Cells[0].FindControl("TextBox1")).Text;
GridViewCommandEventArgs不包含RowIndex的定义。
追答
你在RowCommand事件里是没有e.RowIndex这个定义的。你要是想得到某一行的索引。
首先,在你数据进行绑定的时候用RowDataBound这个事件,在这个事件里
LinkButton linkbutton = (LinkButton)e.Row.Cells[0].FindControl("lbProjectName");
linkbutton.CommandArgument = e.Row.RowIndex.ToString();其中
linkbutton.CommandArgument就是给你要执行的命令行设置一个行索引
这样你在你RowCommand事件里直接用e.CommandArgument就可以得到某一行的索引,然后通过这个索引就可以获取主键的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随机数xZ
2013-08-15 · TA获得超过357个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:417万
展开全部

根据你问题案例如下:

  1. 文件夹有个注意文件:里面有说明.

希望能帮到你!

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式