ASP.NET DataList控件的了解与使用

DataList控件概述

看了些帖子,有说到和Repeater控件类似,博主刚接触ASP.NET没多久,先学了DataList,还没接触过Repeater控件,就记录下所学所得。
DataList控件可以使用模板及定义样式来显示数据,并且还能对数据进行选择、删除及编辑。相比GridView控件,DataList在显示数据时更为灵活,这归因于DataList的特点----通过模板来定于数据的显示格式
DataList控件中,可以为项、交替项、选定项和编辑项创建模板,也可以对标题、脚注和分隔模板自定义外观。对此,DataList支持以下模板:

  • ItemTemplate: 为DataList中的项提供内容和布局。
  • SeperatorTemplate: 为DataList中的分隔符提供内容和布局,未定义则不显示分隔符。

以下模板若没有定义,默认使用ItemTemplate。

  • AlternatingItemTemplate: 为DataList中的交替项提供内容和布局。
  • EditItemTemplate: 为DataList中的当前编辑项提供内容和布局。
  • FooterTemplate: 为DataList中的脚注部分提供内容和布局。
  • HeaderTemplate: 为DataList中的页眉节提供内容和布局。
  • SelectedItemTemplate: 为DataList中的交替项提供内容和布局。

使用DataList绑定数据源

DataList控件绑定数据源方法和GridView是一样的,但是需要通过设计DataList控件的模板来显示相应的数据。这里在页面加载方法中绑定数据源,代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "server=主机名\\实例名;uid=用户名;pwd=密码;database=数据库名";
        string sqlStr = "select * from tb_login";
        SqlDataAdapter sda = new SqlDataAdapter(sqlStr, conn);
        DataSet ds = new DataSet();
        sda.Fill(ds);
        DataList1.DataSource = ds;
        DataList1.DataBind();
    }
}

设计DataList控件模板

1.在前台页面设计中添加DataList控件,代码联想直接带出一个空的ItemTemplate,这个模板是必须存在的。

<asp:DataList ID="DataList1" runat="server">
	<ItemTemplate>   
    </ItemTemplate>
</asp:DataList>

2.在DataList控件中添加页眉设计

<asp:DataList ID="DataList2" runat="server">
	<HeaderTemplate>
		<table border="1" cellpadding="0" cellspacing="0" style="width: 300px; text-align: center;">
			<tr>
				<td colspan="3" style="font-size: 16pt; color: #006600; text-align: center;">使用DataList控件绑定数据</td>
            </tr>
            <tr>
				<td style="height: 19px; width: 50px; color: #669900;">编号</td>
				<td style="height: 19px; width: 50px; color: #669900;">姓名</td>
				<td style="height: 19px; width: 150px; color: #669900;">密码</td>
			</tr>
		</table>
	</HeaderTemplate>
	<ItemTemplate>   
    </ItemTemplate>
</asp:DataList>

效果如下:
在这里插入图片描述
3.ItemTemplate模板设计如下:

<ItemTemplate>
    <table border="1" cellpadding="0" cellspacing="0" style="width: 300px; color: #000000; text-align: center;">
         <tr>
            <td style="height: 19px; width: 50px; color: #669900;">
				<asp:Label ID="lblID" Text='<%#Eval("id")%>' runat="server" />
            </td>
            <td style="height: 19px; width: 50px; color: #669900;">
				<asp:Label ID="lblName" Text='<%#Eval("name")%>' runat="server" />
            </td>
            <td style="height: 19px; width: 150px; color: #669900;">
				<asp:Label ID="lblPass" Text='<%#Eval("pass")%>' runat="server" />
            </td>
        </tr>
    </table>
</ItemTemplate>

效果如下:
在这里插入图片描述
运行效果如下:
在这里插入图片描述
页脚Footer模板这边就不作阐述了,与页眉Header部分类似。

参考
【W3School ASP.NET - DataList 控件】https://www.w3school.com.cn/aspnet/aspnet_datalist.asp
【DataList控件的使用】 https://www.cnblogs.com/sunxi/articles/2571667.html

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值