DataList嵌套问题 如何删除内层子DataList的记录
因为一个网友的提问,做了下面的这个Demo,完成了删除内层子DataList的记录,示例数据来源为pubs数据库的authors(主表)和titleauthor(从表),同时用另一种方法解决了如果表的主键有多个组成,如何进行删除
问题描述:
我在后台做栏目管理的设置,就做二级栏目就可以了,数据库中一个表实现的。使用DATALIST嵌套,外层和内层列表实现删除一级根栏目和二级子栏目的功能,一级栏目可以实现,ID号很好获取,但是内层的怎么都获取不到ID值所以无法删除。
//aspx
<%@ Page language="c#" Codebehind="DataListDemo.aspx.cs" AutoEventWireup="false" Inherits="DataListDemo" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content="Microsoft Visual Studio .Net 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script language="Javascript">
function DeleteTitle(au_id, title_id)
{
if (confirm('真的删除?'))
{
document.getElementById('auid').value = au_id;
document.getElementById('titleid').value = title_id;
__doPostBack('DeleteTitle', '');
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<input type="hidden" ID="titleid" runat="server" NAME="title_id"> <input type="hidden" ID="auid" runat="server" NAME="au_id">
<asp:LinkButton ID="DeleteTitle" runat="server" OnClick="DeleteTitle_Click" Visible="False" />
<asp:datalist id="DataList1" runat="server" DataKeyField="au_id" BorderColor="#CC9966" BorderStyle="None"
BackColor="White" CellPadding="4" GridLines="Both" BorderWidth="1px">
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<ItemTemplate>
au_id:
<asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "au_id")%>'>
</asp:Label><BR>
au_lname:
<asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "au_lname")%>'>
</asp:Label><BR>
<asp:LinkButton id="lbtnDelete" runat="server" CommandName="delete">删除</asp:LinkButton>
<asp:DataList id=DataList2 runat="server" DataKeyField="Title_id" DataSource='<%# GetTitleID(DataBinder.Eval(Container.DataItem, "au_id").ToString()) %>' BorderColor="#CC9966" BorderStyle="None" BackColor="White" CellPadding="4" GridLines="Both" BorderWidth="1px">
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<ItemTemplate>
title_id:
<asp:Label id="Label4" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "title_id")%>'>
</asp:Label>
相关新闻>>
- 发表评论
-
- 最新评论 更多>>