GridView点击修改按钮怎么获取相应行的id
如图:当点击每一行后面的修改按钮时,怎么去相应行的ID,修改按钮不是GridView自带的修改,是个BUTTON按钮。忘高手指点,最好给出代码,谢谢了。...
如图:当点击每一行后面的修改按钮时,怎么去相应行的ID,修改按钮不是GridView自带的修改,是个BUTTON按钮。忘高手指点,最好给出代码,谢谢了。
展开
5个回答
展开全部
最简单的做法是使用 CommandArgument
.aspx
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="Id" onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="False"
CommandArgument='<%# Eval("Id") %>' Text="确定" CommandName="OK" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
.aspx.cs
protected void GridView1_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
if (e.CommandName == "OK")
{
//e.CommandArgument.ToString()
}
}
.aspx
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="Id" onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="False"
CommandArgument='<%# Eval("Id") %>' Text="确定" CommandName="OK" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
.aspx.cs
protected void GridView1_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
if (e.CommandName == "OK")
{
//e.CommandArgument.ToString()
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-08-07 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
在GridView的RowDataBound事件中:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string id = ((Label)e.Row.FindControl("lblID")).Text;
((LinkButton)e.Row.FindControl("linkdel")).Attributes.Add("onclick", "return setValue("+id+")");
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string id = ((Label)e.Row.FindControl("lblID")).Text;
((LinkButton)e.Row.FindControl("linkdel")).Attributes.Add("onclick", "return setValue("+id+")");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.你可以在行里面放一个隐藏域用于存储数据的id,然后在gridview的RowCommand事件里去找到当前操作行包含的这个隐藏域,从而取到id。
2.你也可以设置DataKeys,然后在RowCommand事件里到该行的DataKeys去找到id的值。
2.你也可以设置DataKeys,然后在RowCommand事件里到该行的DataKeys去找到id的值。
追问
可以说清楚点吗?用DataKeys,可是我用的不是gridview自带的增、删、差。可以给出简单代码么,谢谢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、在界面放一个隐藏域<input id="Id" runat="server" type="hidden" />
2、<asp:LinkButton ID="DeleteLinkButton" Visible="false" runat="server" CommandName='<%#Eval("Id") %>' CommandArgument='<%#Eval("Id") %>' OnCommand="DeleteApplyOnCommand" OnClientClick="return confirm('您确实要删除吗?')">删除</asp:LinkButton>
后台通过这个int Id = int.Parse(e.CommandName);获取
2、<asp:LinkButton ID="DeleteLinkButton" Visible="false" runat="server" CommandName='<%#Eval("Id") %>' CommandArgument='<%#Eval("Id") %>' OnCommand="DeleteApplyOnCommand" OnClientClick="return confirm('您确实要删除吗?')">删除</asp:LinkButton>
后台通过这个int Id = int.Parse(e.CommandName);获取
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以使用 按钮的CommandArgument属性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询