获取GridView中绑定数据库主键id
Gridvew外面有两个文本框,旁边有一个保存修改按钮,Gridview里面有一个自定义模板列,里面是一个修改按钮,通过点击这个修改按钮将GridView的值显示到上面的...
Gridvew外面有两个文本框,旁边有一个保存修改按钮,Gridview里面有一个自定义模板列,里面是一个修改按钮,通过点击这个修改按钮将GridView的值显示到上面的文本框里,对文本框里的值进行修改后通过点击旁边的保存修改按钮后保存到数据库,可是要怎么获取Gridview里当前修改的行的主键id呢?
展开
7个回答
展开全部
我解释下你的意思
你是希望点击gridview中的当前行一个按钮(你所说的修改)然后把当前行的两个值读取到gridview之外的两个文本框中之后点旁边的保存然后保存到数据库?
然而你不知道怎么获取到id?
我说一个比较简单的方法
(gridview中)<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click" ToolTip='<%# Eval("") %>'>修改</asp:LinkButton>把DataKeyNames="id" 加到你的gridview控件中(前台属性 ,id为你数据库中的主键)
这样定义你模板列中的按钮
后台
private static int id = 0;
protected void LinkButton1_Click(object sender, EventArgs e)
{
LinkButton btn = sender as LinkButton;
int id = int.Parse(btn.ToolTip.ToString());
}
然后
你就可以在你那个保存按钮事件中直接用id了
希望对你有用
不行的话hi我
在GridView1_RowEditing事件中写
你是希望点击gridview中的当前行一个按钮(你所说的修改)然后把当前行的两个值读取到gridview之外的两个文本框中之后点旁边的保存然后保存到数据库?
然而你不知道怎么获取到id?
我说一个比较简单的方法
(gridview中)<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click" ToolTip='<%# Eval("") %>'>修改</asp:LinkButton>把DataKeyNames="id" 加到你的gridview控件中(前台属性 ,id为你数据库中的主键)
这样定义你模板列中的按钮
后台
private static int id = 0;
protected void LinkButton1_Click(object sender, EventArgs e)
{
LinkButton btn = sender as LinkButton;
int id = int.Parse(btn.ToolTip.ToString());
}
然后
你就可以在你那个保存按钮事件中直接用id了
希望对你有用
不行的话hi我
在GridView1_RowEditing事件中写
展开全部
(gridview中)<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click" ToolTip='<%# Eval("") %>'>修改</asp:LinkButton>把DataKeyNames="id" 加到你的gridview控件中(前台属性 ,id为你数据库中的主键)
这样定义你模板列中的按钮
后台
private static int id = 0;
protected void LinkButton1_Click(object sender, EventArgs e)
{
LinkButton btn = sender as LinkButton;
int id = int.Parse(btn.ToolTip.ToString());
}
然后
你就可以在你那个保存按钮事件中直接用id了
希望对你有用
不行的话hi我
在GridView1_RowEditing事件中写
这样定义你模板列中的按钮
后台
private static int id = 0;
protected void LinkButton1_Click(object sender, EventArgs e)
{
LinkButton btn = sender as LinkButton;
int id = int.Parse(btn.ToolTip.ToString());
}
然后
你就可以在你那个保存按钮事件中直接用id了
希望对你有用
不行的话hi我
在GridView1_RowEditing事件中写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用一个label 绑定ID
<asp:Label ID="lblId" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"ID") %>' ></asp:Label>
获取的时候:
Label lblId=(Label )this.GridView.Rows[i].FindControl("lblId");//找到当前行寻找,不一定是Rows[i]还可能是Rows[Row.RowIndex],视情况而论
int ID =int.Prase(lblId.Text);
这样不就获取到ID了吗 ,有了ID其他的不就很简单了吗
<asp:Label ID="lblId" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"ID") %>' ></asp:Label>
获取的时候:
Label lblId=(Label )this.GridView.Rows[i].FindControl("lblId");//找到当前行寻找,不一定是Rows[i]还可能是Rows[Row.RowIndex],视情况而论
int ID =int.Prase(lblId.Text);
这样不就获取到ID了吗 ,有了ID其他的不就很简单了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获得Gridview行中的ID: int studentId = Convert.ToInt32(dgvStudentInfo.Rows[dgvStudentInfo.SelectedRows[0].Index].Cells["dgvStudentInfo控件绑定ID的ID名"].Value);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Gridvew.keyNames的这个集合里面去找吧(记得好像是这样的)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询