请教一个删除的问题 ??

天羽龙翔 2008-03-27 03:05:48
我现在有一个 <asp:DataList 现在在每条输出的记录后面加一个 <asp:Button ID="ButtonDelete" OnClick="ButtonDelete" Text="删 除" runat="server" /> 按钮,我想点击按钮的时候就删除相对应的一条记录,现在是应该怎么得到其中的那个 id 的值 ??请各位大大指点一下 !!

谢谢了 !!
...全文
95 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yb1124 2008-03-27
  • 打赏
  • 举报
回复
绑定DataList之前

DataList1.DataKeyField = "主键列";


获取主键值

protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "btn")
{
//获得此行记录的主键值
string id = DataList1.DataKeys[e.Item.ItemIndex].ToString();

//执行删除操作
}
}



yang830519 2008-03-27
  • 打赏
  • 举报
回复
<asp:datalist id="DataList1" runat="server" DataKeyField="ID"...>
<asp:Button id="Button1" Text="删除" Runat="server" CommandName="Del"></asp:Button>
---------
protected void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
if(e.CommandName=="Del")
{
int id=(int)DataList1.DataKeys[e.Item.ItemIndex];
Response.Write("<script>alert(\""+id.ToString()+"\");</script>");
}
}
yb1124 2008-03-27
  • 打赏
  • 举报
回复
呵呵,说着说着跑到GridView去了,不好意思
yang830519 2008-03-27
  • 打赏
  • 举报
回复
设置DataList的DataKeyField为主键

代码中用DataList1..DataKeys[e.Item.ItemIndex].ToString()得到
yb1124 2008-03-27
  • 打赏
  • 举报
回复
你设置DataKeyNames了吗
或者GridView显示id裂了吗
天羽龙翔 2008-03-27
  • 打赏
  • 举报
回复
//获得此行记录的主键值
//执行删除操作


请问怎么样获取主键值啊 ??
yuexiaxiaochongzi 2008-03-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yb1124 的回复:]
C# codeprotectedvoidDataList1_ItemDataBound(objectsender, DataListItemEventArgs e)
{
Button mybtn=e.Item.FindControl("ButtonDelete")asButton;
mybtn.CommandName="btn";
}protectedvoidDataList1_ItemCommand(objectsource, DataListCommandEventArgs e)
{if(e.CommandName=="btn")
{//获得此行记录的主键值//执行删除操作}
}
[/Quote]
怀疑此操作,这样所有的按钮的name都是btn,你if好象没啥作用了吧?
yang830519 2008-03-27
  • 打赏
  • 举报
回复
用链接好了,不需要用button.
<ItemTemplate> <A href='Delete.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id") %>'>删除</A>
</ItemTemplate>
然后在delete.aspx读取id值.
String id=Request["id"].ToString();
再根据id写sql语句删除就行了,最后用 Response.Redirect返回.
yb1124 2008-03-27
  • 打赏
  • 举报
回复


protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
Button mybtn = e.Item.FindControl("ButtonDelete") as Button;
mybtn.CommandName = "btn";
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "btn")
{
//获得此行记录的主键值
//执行删除操作
}
}


天羽龙翔 2008-03-27
  • 打赏
  • 举报
回复
对了 忘记说了 我用的是 vs 2005

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧