xiaofancn 发表于 2013-2-5 10:14:10

asp.net之DataList学习笔记

此控件满适合企业产品展示类型的站点。
 
设置页面数据源时的代码,通常其表现出所有的功能。
<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.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();      }  
页: [1]
查看完整版本: asp.net之DataList学习笔记