`

asp.net之DataList学习笔记

    博客分类:
  • .net
阅读更多

此控件满适合企业产品展示类型的站点。

 

设置页面数据源时的代码,通常其表现出所有的功能。

<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();
        }
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics