六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 178|回复: 0

asp.net之DataList学习笔记

[复制链接]

升级  4%

58

主题

58

主题

58

主题

举人

Rank: 3Rank: 3

积分
212
 楼主| 发表于 2013-2-5 10:14:10 | 显示全部楼层 |阅读模式
此控件满适合企业产品展示类型的站点。
 
设置页面数据源时的代码,通常其表现出所有的功能。
<asp:DataList ID="DataList1" runat="server" DataKeyField="uid" DataSourceID="SqlDataSource1"           >            <EditItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"                Font-Strikeout="False" Font-Underline="False" ForeColor="Maroon" />            <AlternatingItemStyle BackColor="Blue" Font-Bold="False" Font-Italic="False"                Font-Overline="False" Font-Strikeout="False" Font-Underline="False"                ForeColor="Black" />            <EditItemTemplate>                ===========编辑模板========            </EditItemTemplate>            <SeparatorStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"                Font-Strikeout="False" Font-Underline="False" ForeColor="Gray" />            <SeparatorTemplate>                ==================分隔符====================            </SeparatorTemplate>            <HeaderTemplate>                =======================页眉模板==========            </HeaderTemplate>            <SelectedItemTemplate>                ===========选择模板================            </SelectedItemTemplate>            <FooterTemplate>                ================页脚模板=======            </FooterTemplate>            <ItemTemplate>                用户id:                <asp:Label ID="uidLabel" runat="server" Text='<%# Eval("uid") %>' />                <br />                用户名:                <asp:Label ID="usernameLabel" runat="server" Text='<%# Eval("username") %>' />                <br />                密码:                <asp:Label ID="passwordLabel" runat="server" Text='<%# Eval("password") %>' />                <br />                性别:                <asp:Label ID="sexLabel" runat="server" Text='<%# Eval("sex") %>' />                <br />                最后登录时间:                <asp:Label ID="lasttimeLabel" runat="server" Text='<%# Eval("lasttime") %>' />                <br />                <br />            </ItemTemplate>        </asp:DataList> 
 
执行效果

=======================页眉模板==========            
                用户id:                1               
                用户名:                honker               
                密码:                123456789               
                性别:                女               
                最后登录时间:                System.Byte[]               
               
            
                ==================分隔符====================            
                用户id:                2               
                用户名:                hacker               
                密码:                123456               
                性别:                男               
                最后登录时间:                System.Byte[]               
               
            
                ================页脚模板=======            
 
 
//页面的数据源手工添加,后台代码框架尽量用vs生成
1、交替项中增加一个编辑按钮
<ItemTemplate><asp:LinkButton runat="server" ID="LinkButton1"                    CommandName="edit" >                    Edit                </asp:LinkButton><br /><br /></ItemTemplate>  对应的后台代码框架
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)        {            DataList1.EditItemIndex = e.Item.ItemIndex;        }//显示这行的对应的编辑模板 
2、编辑模板的页面代码,尽量与交替项模板显示的数据项保持一致
<EditItemTemplate>              ID: <asp:Label ID="Label1" runat="server"                         Text='<%# Eval("uid") %>'>                    </asp:Label>                <br />                Name: <asp:TextBox ID="username" runat="server"                         Text='<%# Eval("username") %>'>                      </asp:TextBox>                <br />                Description: <asp:TextBox ID="sex"                                 runat="server"                        Text='<%# Eval("sex") %>'>                     </asp:TextBox>                <br />                <asp:LinkButton ID="LinkButton1" runat="server"                      CommandName="update" >                    Save                </asp:LinkButton>                                 <asp:LinkButton ID="LinkButton2" runat="server" CommandName="Cancel">                    Cencel                                  </asp:LinkButton>            </EditItemTemplate> 编辑模板对应的后台程序编写,
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)        {               //获取主键值的值            string uid = DataList1.DataKeys[e.Item.ItemIndex].ToString();            //从编辑项中控件的id来获取对应的值            String username = ((TextBox)e.Item.FindControl("username")).Text;            string sex = ((TextBox)e.Item.FindControl("sex")).Text;            //Response.Write(uid+username+sex);            //处理数据的代码            DataList1.EditItemIndex = -1;            DataList1.DataBind();          }        protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)        {            DataList1.EditItemIndex = -1;            DataList1.DataBind();        }  
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表