DataList控件的使用方法
主要用于查看数据信息
首先向网页中拖入一个DataList控件
为其配置数据源,在select中为要显示出的选项打上钩。
DataList自动生成<ItemTemplate>模板,里面会加入你在select中打钩的选项
格式如<%# DataBinder.Eval(Container.DataItem,"ZZ") %>
另外还可以添加<SelectedItemTemplate>模板
可以在<ItemTemplate>中定义一个LinkButton 令属性CommandName=”select” 点击这个LinkButton就可以显示出<SelectedItemTemplate>。
这个的意思就是说可以只在<ItemTemplate>中显示名字或者编号,然后在<SelectedItemTemplate>显示详细的信息!当然也可以在<SelectedItemTemplate>模板中添加一个LinkButton令属性CommandName=” <ItemTemplate>中那个LinkButton的ID”
下面用例子说明
<asp:DataList ID="DataList2" runat="server" DataKeyField="ID"
DataSourceID="SqlDataSource2" RepeatColumns="3"
onitemcommand="DataList2_ItemCommand"
onselectedindexchanged="DataList2_SelectedIndexChanged">
<ItemTemplate>
ID:
<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' />
<br />
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="select">详细资料</asp:LinkButton>
<br />
<br />
</ItemTemplate>
<SelectedItemTemplate> 作者:<%# DataBinder.Eval(Container.DataItem,"ZZ") %><asp:LinkButton
ID="LinkButton2" runat="server" CommandName="LinkButton1">返回</asp:LinkButton>
<br />
发表时间:<%# DataBinder.Eval(Container.DataItem,"SJ") %><br />
具体内容:<%# DataBinder.Eval(Container.DataItem,"NR") %>
</SelectedItemTemplate>
</asp:DataList>
这是前台的代码,关于数据源的配置未列出。
后台触发事件的代码如下:
protected void DataList2_SelectedIndexChanged(object sender, EventArgs e)
{
DataList2.DataBind(); //<ItemTemplate>中当选择的对象变化时,重新进行数据绑定.
}
protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e)
{
if (mandName == "LinkButton1")
{
DataList2.SelectedIndex = -1; //<SelectedItemTemplate>中 点击返回按钮 回到<ItemTemplate>
DataList2.DataBind();
}
}
ListView控件的使用方法类似与DataList控件,只是多了插入,编辑,删除的功能,为管理员提供了方便。
首先拖入控件,然后为其配置数据源,
在配置select的选项是选择 制定自定义的SQL语句或存储过程.
然后分别为select,update,delete填写相应的语句。
此时就能在页面中进行查看数据,操作数据。
如:
<asp:ListView ID="ListView1" runat="server" DataKeyNames="ID"
DataSourceID="SqlDataSource3" InsertItemPosition="LastItem">
<ItemTemplate>
<tr style="background-color: #E0FFFF; color: #333333;">
<td>
<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
</td>
<td>
<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' />
</td>
<td>
<asp:Label ID="ZZLabel" runat="server" Text='<%# Eval("ZZ") %>' />
</td>
<td>
<asp:Label ID="SJLabel" runat="server" Text='<%# Eval("SJ") %>' />
</td>
<td>
<asp:Label ID="NRLabel" runat="server" Text='<%# Eval("NR") %>' />
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr style="background-color: #FFFFFF; color: #284775;">
<td>
<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
</td>
<td>
<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' />
</td>
<td>
<asp:Label ID="ZZLabel" runat="server" Text='<%# Eval("ZZ") %>' />
</td>
<td>
<asp:Label ID="SJLabel" runat="server" Text='<%# Eval("SJ") %>' />
</td>
<td>
<asp:Label ID="NRLabel" runat="server" Text='<%# Eval("NR") %>' />
</td>
</tr>
</AlternatingItemTemplate>
<EmptyDataTemplate>
<table runat="server"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;">
<tr>
<td>
未返回数据。</td>
</tr>
</table>
</EmptyDataTemplate>
<InsertItemTemplate>
<tr style="">
<td>
<asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="插入" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="清除" />
</td>
<td>
<asp:TextBox ID="IDTextBox" runat="server" Text='<%# Bind("ID") %>' />
</td>
<td>
<asp:TextBox ID="ZZTextBox" runat="server" Text='<%# Bind("ZZ") %>' />
</td>
<td>
<asp:TextBox ID="SJTextBox" runat="server" Text='<%# Bind("SJ") %>' />
</td>
<td>
<asp:TextBox ID="NRTextBox" runat="server" Text='<%# Bind("NR") %>' />
</td>
</tr>
</InsertItemTemplate>
<LayoutTemplate>
<table runat="server">
<tr runat="server">
<td runat="server">
<table ID="itemPlaceholderContainer" runat="server" border="1"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
<tr runat="server" style="background-color: #E0FFFF; color: #333333;">
<th runat="server">
</th>
<th runat="server">
ID</th>
<th runat="server">
ZZ</th>
<th runat="server">
SJ</th>
<th runat="server">
NR</th>
</tr>
<tr ID="itemPlaceholder" runat="server">
</tr>
</table>
</td>
</tr>
<tr runat="server">
<td runat="server"
style="text-align: center;background-color: #5D7B9D; font-family: Verdana, Arial, Helvetica, sans-serif;color: #FFFFFF;">
<asp:DataPager ID="DataPager1" runat="server">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
ShowLastPageButton="True" />
</Fields>
</asp:DataPager>
</td>
</tr>
</table>
</LayoutTemplate>
<EditItemTemplate>
<tr style="background-color: #999999;">
<td>
<asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="更新" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="取消" />
</td>
<td>
<asp:Label ID="IDLabel1" runat="server" Text='<%# Eval("ID") %>' />
</td>
<td>
<asp:TextBox ID="ZZTextBox" runat="server" Text='<%# Bind("ZZ") %>' />
</td>
<td>
<asp:TextBox ID="SJTextBox" runat="server" Text='<%# Bind("SJ") %>' />
</td>
<td>
<asp:TextBox ID="NRTextBox" runat="server" Text='<%# Bind("NR") %>' />
</td>
</tr>
</EditItemTemplate>
<SelectedItemTemplate>
<tr style="background-color: #E2DED6; font-weight: bold;color: #333333;">
<td>
<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
</td>
<td>
<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' />
</td>
<td>
<asp:Label ID="ZZLabel" runat="server" Text='<%# Eval("ZZ") %>' />
</td>
<td>
<asp:Label ID="SJLabel" runat="server" Text='<%# Eval("SJ") %>' />
</td>
<td>
<asp:Label ID="NRLabel" runat="server" Text='<%# Eval("NR") %>' />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>
下为数据源的代码:
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:sk0621ConnectionString4 %>"
DeleteCommand="delete from Lyb where id=@id"
InsertCommand="insert into Lyb values(@id,@zz,@sj,@nr)"
SelectCommand="select * from Lyb"
UpdateCommand="update Lyb set zz=@zz,sj=@sj,nr=@nr where id=@id">
<DeleteParameters>
<asp:Parameter Name="id" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="zz" />
<asp:Parameter Name="sj" />
<asp:Parameter Name="nr" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="id" />
<asp:Parameter Name="zz" />
<asp:Parameter Name="sj" />
<asp:Parameter Name="nr" />
</InsertParameters>
</asp:SqlDataSource>