datalist 删除数据问题

gdmvip 2010-09-15 10:34:21

这个是我前台代码

我想当我点击删除这个label的时候就会删除,但是我不知道怎么做,希望高手能指点下。


<asp:DataList ID="DLznxx" runat="server" style=" width:800px; height:100%" >
<ItemTemplate>
<table border="0" cellpadding="0" cellspacing="0" style="width:650px; height:60px; border-bottom:dashed 1px #bdc7cc;">
<tr>
<td align="left" valign="middle" style="width:50px;">
<a href="/IThome/web/user/userzn.aspx?id=<%# Eval("id") %>"> <asp:Image ID="Image3" runat="server" Height="40px" Width="40px" style="border:solid 1px #bdc7cc;" ImageUrl='<%# Eval("userimages") %>' /></a>
</td>
<td>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height:40px; margin-left: 0px;">
<tr>
<td valign="top" style="width:500px;">
<a href="/IThome/web/user/userzn.aspx?id=<%# Eval("id") %>"><b> <asp:Label ID="Label4" runat="server" Text='<%# Eval("sendusername") %>'></asp:Label></b></a>
</td>
<td valign="top">
<a href="/IThome/web/user/userzn.aspx?id=<%# Eval("id") %>"><asp:Label ID="Label10" runat="server" style="color:#e56d0c" Text="发送信息"></asp:Label></a>
  
<a href="/IThome/web/user/userzn.aspx?id=<%# Eval("id") %>"><asp:Label ID="Label9" runat="server" style="color:#1221b5" Text="删除"></asp:Label></a>
</td>
</tr>
<tr>
<td valign="middle" style="width:300px;">
<a href="/IThome/web/user/userzn.aspx?id=<%# Eval("id") %>"><asp:Label ID="Label6" runat="server" Text='<%# Eval("sendname") %>'></asp:Label></a>
</td>
<td valign="middle">
<asp:Label ID="Label8" runat="server" Text='<%# Eval("sendtime") %>'></asp:Label>
</td>
</tr>
</table>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>



这个是后台我的代码我datalist绑定的是2个表的数据,senduserinfo和userinfo表,userinfo存储的datalist显示个人头像
senduserinfo表存储的是站内信息的详细信息。



private void sendxx()
{
HttpCookie cookie = Session["username"] as HttpCookie;

string uname = cookie["username"].ToString();
string upwd = cookie["password"].ToString();


con.Open();
string strsql="select top 4 senduserinfo.id,senduserinfo.sendusername,senduserinfo.sendtime,senduserinfo.sendname,userinfo.userimages from senduserinfo,userinfo where senduserinfo.acceptusername='" + uname + "' and userinfo.username=senduserinfo.sendusername order by id desc";

sqlda = new SqlDataAdapter(strsql, con);
sqlda.Fill(ds, "senduserinfo");
con.Close();
dtInfo = ds.Tables[0];

DLznxx.DataSource = ds.Tables["senduserinfo"];
DLznxx.DataBind();

//DLznxx.DataSource = data;
//DLznxx.DataBind();

//sqlda = new SqlDataAdapter(strsql, con);
//sqlda.Fill(ds, "senduserinfo");
//con.Close();
//dtInfo = ds.Tables[0];
//DLznxx.DataSource = ds.Tables["senduserinfo"];
//DLznxx.DataBind();


}




高手有什么好的建议?最好能提供代码,加个注释,本人是新手。
...全文
239 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rwm5366745 2010-09-16
  • 打赏
  • 举报
回复
用lable 没做过,也不知道触发什么事件才能执行你的要求

还是用linkButton 设定commandName,commandArgument属性,
然后在datalist控件的itemcommand事件 写删除功能
lw402365015 2010-09-16
  • 打赏
  • 举报
回复
唉 来晚了 答案都出来完了!!!
happy664618843 2010-09-16
  • 打赏
  • 举报
回复
恩 用linkButton可以代替label
tashiwoweiyi 2010-09-16
  • 打赏
  • 举报
回复
前台

<asp:DataList ID="UserList" DataKeyField="Uid" OnItemCreated="UserList_ItemCreated" OnUpdateCommand="UserList_OnUpdateCommand" OnDeleteCommand="UserList_OnDeleteCommand" runat="server" Width="100%" RepeatColumns="6" OnEditCommand="UserList_OnEditCommand" OnCancelCommand="UserList_OnCancelCommand">
<HeaderTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#E2EEF5" >
<tr>
<td width="17%" height="25" align="center" bgcolor="#E8F0F7">登陆名称</td>
<td width="15%" align="center" bgcolor="#E8F0F7">真实姓名</td>
<td width="17%" align="center" bgcolor="#E8F0F7">所属用户组</td>
<td width="25%" align="center" bgcolor="#E8F0F7">拥有权限</td>
<td width="14%" align="center" bgcolor="#E8F0F7">创建时间</td>
<td width="12%" align="center" bgcolor="#E8F0F7">操作</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td height="25" bgcolor="#FFFFFF"><img src="images/FriendICO.gif" width="15" height="15" style="margin-left:5px;" /> [<%#Eval("Uname")%>]<asp:Image ID="StateICO" ImageUrl='<%#GetUserState(Eval("uState").ToString()) %>' width="12" height="12" runat="server" /></td>
<td align="center" bgcolor="#FFFFFF"><%#Eval("Rname")%></td>
<td align="center" bgcolor="#FFFFFF"><%#Eval("UserGroup")%></td>
<td align="center" bgcolor="#FFFFFF"><%#Eval("Purview")%></td>
<td align="center" bgcolor="#FFFFFF"><%#Eval("Ctimes","{0:d}")%></td>
<td align="center" bgcolor="#FFFFFF"><img src="images/Edit_ICOS.gif" width="14" height="15" border="0" align="absmiddle" /><asp:LinkButton CommandName="Edit"
ID="Edit_But" ForeColor="#003366" runat="server">编辑</asp:LinkButton> <img src="images/DEL_ICOS.gif" width="14" height="15" border="0" align="absmiddle" /><asp:LinkButton CommandName="Delete"
ID="Del_But" ForeColor="#003366" runat="server" >删除</asp:LinkButton></td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr>
<td height="25" bgcolor="#E8F0F7"><img src="images/FriendICO.gif" width="15" height="15" style="margin-left:5px;" /> <%#Eval("Uname")%><asp:CheckBox ID="User_State" Checked='<%#GetBoxState(Eval("uState").ToString().Trim()) %>' runat="server" Text="启用账户" />
</td>
<td align="center" bgcolor="#E8F0F7"><asp:TextBox ID="User_Rname" runat="server" CssClass="inputX"
Text='<%#Eval("Rname")%>' Width="80px"></asp:TextBox>
</td>
<td align="center" bgcolor="#E8F0F7">
<asp:DropDownList ID="User_Group" runat="server" CssClass="FontBlue12">
<asp:ListItem Value="Guest">来宾组</asp:ListItem>
<asp:ListItem Value="Editor">编辑组</asp:ListItem>
<asp:ListItem Value="System">系统组</asp:ListItem>
</asp:DropDownList>
</td>
<td align="center" bgcolor="#E8F0F7">
<asp:CheckBoxList ID="User_Priv" runat="server" CssClass="FontBlue12"
RepeatDirection="Horizontal">
<asp:ListItem Value="r">读</asp:ListItem>
<asp:ListItem Value="w">写</asp:ListItem>
<asp:ListItem Value="e">编辑</asp:ListItem>
<asp:ListItem Value="d">删除</asp:ListItem>
</asp:CheckBoxList>
</td>
<td align="center" bgcolor="#E8F0F7"><%#Eval("Ctimes","{0:d}")%></td>
<td align="center" bgcolor="#E8F0F7">
<img align="absmiddle" border="0" height="15" src="images/Update_ICOS.gif"
width="14" /><asp:LinkButton ID="Update_But" runat="server"
CommandName="Update" ForeColor="#003366">更新</asp:LinkButton> <img align="absmiddle" border="0" height="15" src="images/Cancel_ICOS.gif"
width="14" /><asp:LinkButton ID="Cancel_But" runat="server"
CommandName="Cancel" ForeColor="#003366">取消</asp:LinkButton>
</td>

</tr>
</EditItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>


后台代码


//取消编辑

protected void UserList_OnCancelCommand(object sender, DataListCommandEventArgs e)
{
this.UserList.EditItemIndex = -1;
GetUserList();
}

//DataList编辑

protected void UserList_OnEditCommand(object sender, DataListCommandEventArgs e)
{
this.UserList.EditItemIndex = e.Item.ItemIndex;
GetUserList();
}

//DataList更新

protected void UserList_OnUpdateCommand(object sender, DataListCommandEventArgs e)
{
string id = this.UserList.DataKeys[e.Item.ItemIndex].ToString(); //使用前需先设置DataList的DataKeyField="Uid"
string Rname = ((TextBox)e.Item.FindControl("User_Rname")).Text.Trim();//取得DataList中ID为"User_Rname"的TextBox中的值
string UserGroup = ((DropDownList)e.Item.FindControl("User_Group")).SelectedValue.Trim();
string UserPurview = "";
for (int i = 0; i < ((CheckBoxList)e.Item.FindControl("User_Priv")).Items.Count; i++)
{
if (((CheckBoxList)e.Item.FindControl("User_Priv")).Items[i].Selected == true)
{
UserPurview += ((CheckBoxList)e.Item.FindControl("User_Priv")).Items[i].Value + ",";
}

}
if (UserPurview != "")
{
UserPurview = UserPurview.Substring(0, UserPurview.Length - 1);
}
int usstate = 0;
if (((CheckBox)e.Item.FindControl("User_State")).Checked == true)
{
usstate = 1;
}
string sql = "update SystemUser set uState =" + usstate + ",UserGroup='" + UserGroup + "',Rname='" + Rname + "',Purview='" + UserPurview + "' where uid=" + id + "";
ConnDB db = new ConnDB();
if (db.EditDatabase(sql))
{
msgBox.Alert("编辑成功!", "SysUser_Admin.aspx");
}
else
{
msgBox.Alert("编辑失败!" + ((CheckBox)e.Item.FindControl("User_State")).ToString());
}

}

//DataList删除对话框

protected void UserList_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton lbDelete = (LinkButton)e.Item.FindControl("Del_But"); lbDelete.Attributes.Add("onclick", "return confirm(\"确定删除这个用户吗?\");");
}
}

//DataList删除


protected void UserList_OnDeleteCommand(object sender, DataListCommandEventArgs e)
{
string id = this.UserList.DataKeys[e.Item.ItemIndex].ToString(); //使用前需先设置DataList的DataKeyField="Uid"
string sql = "delete from SystemUser where Uid=" + id + "";
ConnDB db = new ConnDB();
if (db.EditDatabase(sql))
{
msgBox.Alert("已删除!", "SysUser_Admin.aspx");
}
else
{
msgBox.Alert("删除失败!", "SysUser_Admin.aspx");
}
GetUserList();
}

//DataList数据绑定

private void DataListDataBind()
{
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["DataBaseCon"].ToString());
SqlDataAdapter da=new SqlDataAdapter("select * from Employees",conn);
DataSet ds=new DataSet();
try
{
da.Fill(ds,"testTable");
dlEditItem.DataSource=ds.Tables["testTable"];
dlEditItem.DataBind();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}


MSDNXGH 2010-09-16
  • 打赏
  • 举报
回复
不用怕,不用label也可以用安扭。。。。NET提示文本安扭,跟label跟不多一样。。。
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>
你也可以导入CSS对其进行样式控制。。。很简单,实在不行的话就查看MSDN
gdmvip 2010-09-15
  • 打赏
  • 举报
回复
怎么实现呢
gdmvip 2010-09-15
  • 打赏
  • 举报
回复
恩,因为美工问题我不想用按钮的形式,所以用了了个label text="删除" 想这样来实现删除
myhope88 2010-09-15
  • 打赏
  • 举报
回复
你删除要删除什么呢,一般来说删除都是用按钮形式的,或者使用链接的方式,在datalist中一般用按钮,在按钮的属性中设定commandName,commandArgument等属性,然后在datalist控件的itemcommand事件中通过e.commandName来判断用户是否单击了删除按钮,有的话,就执行删除语句
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

62,272

社区成员

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

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

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

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