asp.net Gridview中点击编辑,在新页面打开进行编辑,求具体代码!在线等!
page1.aspx中有一个GridView,GridView中有很多行的内容,每行后边有一个编辑按钮,点击编辑按钮,打开一个新页面page2.aspx,在page2中有...
page1.aspx中有一个GridView,GridView中有很多行的内容,每行后边有一个编辑按钮,点击编辑按钮,打开一个新页面page2.aspx,在page2中有几个TextBox来显示GridView中的内容。有一个按钮“更新文章”点击按钮,进行更新。求具体实现代码,越详细越好,尤其传值的地方,请加额外说明!QQ2865730672,邮箱ppoqxx@gmail.com 100分在线等!
展开
4个回答
展开全部
!这题挺熟悉的
点击的时候跳转页面,用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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
现在做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去查询数据,把查询到的数据赋值给控件就可以了
}
不过概念都是一样的,获取到数据的主键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")
{
//在这里写你获取当前行主键、和跳转的代码就行了。
}
}
后台在
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就可以得到某一行的索引,然后通过这个索引就可以获取主键的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根据你问题案例如下:
文件夹有个注意文件:里面有说明.
希望能帮到你!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询