最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Repeater與ListView功能概述及使用介紹

 更新時(shí)間:2013年02月28日 11:25:57   作者:  
Repeater(foreach)用于對(duì)綁定數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行遍歷并按格式顯示,Repeater一般只用來(lái)展示數(shù)據(jù)ListView會(huì)自動(dòng)生成很多模板,免去手寫(xiě)模板代碼的麻煩,感興趣的你可以了解下本文

Repeater

Repeater(foreach)用于對(duì)綁定數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行遍歷并按格式顯示,每條數(shù)據(jù)以什么格式顯示是由Repeater的<ItemTemplate>來(lái)決定的,模板會(huì)多次顯示,就像foreach, ItemTemplate 中相當(dāng)于{}中的語(yǔ)句。<ItemTemplate>姓名:<%#Eval(“Name”)%><b>年齡:<%#Eval(“Age”)%></b><br /></ItemTemplate>。注意:%和#中間不能有空格。

<%#Eval("Name")%>表示在這個(gè)位置顯示當(dāng)前實(shí)體對(duì)象的Name屬性,注意調(diào)用Eval、Bind這些數(shù)據(jù)綁定方法的時(shí)候要用#。

因?yàn)镋val就是將屬性顯示到指定的位置,因此也可以顯示到文本框中<ItemTemplate>姓名:
<asp:TextBox runat="server"Text='<%#Eval("Name") %>' />
</ItemTemplate>

注意不要寫(xiě)成Text="<%#Eval('Name')%>" 因?yàn)?lt;%%>中的是C#代碼,''是字符,而不是字符串

還可以用在服務(wù)器控件中<asp:TextBox Text='<%#Eval("Name") %>'runat="server"></asp:TextBox>

DemoCode及注意點(diǎn)
Repeater.aspx

復(fù)制代碼 代碼如下:

<% @ Page Language="C#" AutoEventWireup="true" CodeBehind="Repeater.aspx.cs" Inherits ="WebForm.Repeater" %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns ="http://www.w3.org/1999/xhtml">
< head runat ="server">
<title ></ title>
< style type ="text/css">
#tblist{ border-top :1px solid #000 ; border-left : 1px solid #000 ; margin: 0px auto ;width : 600px;}
#tblist td {border-bottom : 1px solid #000 ; border-right: 1px solid #000; padding :5px }
#didPanel {position : absolute; left :350px ; top: 200px ;width : 500px; height :70px ; border: 1px solid #000; background-color :Window ; padding: 15px ;display : none}
</style >
</ head>
< body>
<form id="form1" runat="server">
<asp : ObjectDataSource ID ="ObjectDataSource1" runat ="server"
SelectMethod ="getAllClasses" TypeName ="BLL.Classes">
< SelectParameters>
< asp: Parameter DefaultValue ="false" Name ="isDel" Type ="Boolean" />
</ SelectParameters>
</asp : ObjectDataSource>
<div >
<table id="tbList">
< asp: Repeater ID ="Repeater1" runat ="server" DataSourceID ="ObjectDataSource1">
< HeaderTemplate> <!--頭模板-->
< tr>
< td> ID </td >
< td> Name </td >
< td> Count </td >
< td> Img </td >
< td> 操作 </td >
</ tr>
</ HeaderTemplate>
< ItemTemplate> <!--項(xiàng)模板-->
< tr>
< td>< input type ="text" value =" <%# Eval("CID")%> " /></ td >
< td>
< asp: TextBox ID ="TextBox1" runat ="server" Text ='<% # Eval("CName")%> '></asp : TextBox></ td >
< td> <% #Eval( "CCount" )%> </td >
< td>
<%--<img src="images/<%#Eval("CImg")%>" style="width:100px;height:80px;"/>--%>
<!--服務(wù)器端圖片路徑需要添加images/文件路徑時(shí) 需要放在#號(hào)后 如果images/《% 會(huì)導(dǎo)致《%被作為字符串解析-->
< asp: Image ID ="Image1" runat ="server" ImageUrl ='<% # "images/"+Eval("CImg")%> ' Width ="100px" Height ="80px"/>
<!--補(bǔ)充:模板中的按鈕一般不寫(xiě)OnClick事件響應(yīng),而是響應(yīng)Repeater的ItemCommand事件。-->
</ td>
</ tr>
</ ItemTemplate>
< SeparatorTemplate> <!--兩項(xiàng)數(shù)據(jù)間的間隔模板-->
< tr>
< td colspan ="5" style ="background-color :red; height:2px; line-height :3px;"></td >
</ tr>
</ SeparatorTemplate>
< AlternatingItemTemplate> <!--交替項(xiàng)模板-->
< tr style ="background-color :Gray">
< td>< input type ="text" value =" <%# Eval("CID")%> " /></ td >
< td>
< asp: TextBox ID ="TextBox1" runat ="server" Text ='<% # Eval("CName")%> '></asp : TextBox></ td >
< td> <% #Eval( "CCount" )%> </td >
< td> <% #Eval( "CImg" )%> </td >
< td>
< asp: Button ID ="btnDel" runat ="server" Text ="刪除" OnCommand ="Button_OnClick" CommandName ="Del" CommandArgument ='<% # Eval("CID")%> '/>
</ td>
</ tr>
</ AlternatingItemTemplate>
< FooterTemplate> <!--腳模板-->
< tr>
< td colspan ="5">不是所有痞子都叫一毛 </ td>
</ tr>
</ FooterTemplate>

</ asp: Repeater >
</table >
</div >
</form >
</ body>
</ html>

Repeater.aspx.cs
復(fù)制代碼 代碼如下:

using System;
using System.Web.UI.WebControls;
namespace WebForm {
public partial class Repeater : System.Web.UI. Page {
protected void Page_Load( object sender, EventArgs e) {
}
protected void Button_OnClick( object sender, CommandEventArgs e) {
//Response.Write("CommandArgument" + e.CommandArgument + "CommandName" + e.CommandName + "刪除了" + DateTime.Now);需前臺(tái)設(shè)置CommandArgument及CommandName屬性
if (new BLL. Classes().SoftDel( Convert .ToInt32(e.CommandArgument)) > 0) {
Response.Write( "刪除成功" );
Repeater1.DataBind(); //重新綁定數(shù)據(jù) 否則服務(wù)器不會(huì)重新生成Repeater數(shù)據(jù) 而是返回__VIEWSTATE中原有數(shù)據(jù)
} else {
Response.Write( "刪除失敗" );
}
}
}
}

效果圖:

ListView

Repeater一般只用來(lái)展示數(shù)據(jù),如果要增刪改查(CRUD)則用ListView更方便。使用向?qū)?lái)使ListView會(huì)自動(dòng)生成很多模板,免去手寫(xiě)模板代碼的麻煩,必要時(shí)進(jìn)行手工調(diào)整即可。

 同Repeater一樣設(shè)定數(shù)據(jù)源,然后點(diǎn)擊智能提示中的“配置ListView”,選擇一種布局和樣式,然后根據(jù)需要勾選“啟用編輯”、“啟用刪除”、“啟用插入”、“啟用分頁(yè)”,就會(huì)自動(dòng)生成常用的模板。

效果圖類似:

ListView默認(rèn)的分頁(yè)是先從數(shù)據(jù)源取得所有數(shù)據(jù),然后再截取當(dāng)前頁(yè)面的部分,在數(shù)據(jù)量非常大的情況下效率非常低,因此默認(rèn)分頁(yè)基本不能用。應(yīng)該是只從數(shù)據(jù)源取得要顯示的數(shù)據(jù)。詳見(jiàn)下章《如何實(shí)現(xiàn)ListView高效分頁(yè)

同樣內(nèi)容點(diǎn)可參見(jiàn)《如何實(shí)現(xiàn)ListView高效分頁(yè)》貼出的代碼

LayoutTemplate為布局模板,布局模板中必須有一個(gè)ID為itemPlaceholder的服務(wù)端控件,項(xiàng)占位符(FrameWork4.0以后不需要),itemPlaceholder前面就是相當(dāng)于Repeater中的HeaderTemplate,itemPlaceholder后面就是相當(dāng)于Repeater中的FooterTemplate,因此ListView中沒(méi)有這兩個(gè)模板。

ItemTemplate是每一項(xiàng)的模板,AlternatingItemTemplate是隔行顯示的模板,和Repeater一樣。

EmptyDataTemplate為數(shù)據(jù)源沒(méi)有數(shù)據(jù)的時(shí)候顯示的內(nèi)容(Insert也算數(shù)據(jù)),這樣的話可以實(shí)現(xiàn)“沒(méi)有查找結(jié)果”、“對(duì)不起,找不到您要找的數(shù)據(jù)”等提示內(nèi)容

InsertItemTemplate為插入數(shù)據(jù)界面的模板,

EditItemTemplate為編輯數(shù)據(jù)的模板,

SelectedItemTemplate為標(biāo)記為Selected的行的模板。

數(shù)據(jù)源配置見(jiàn)上章 Asp.Net中的數(shù)據(jù)源

相關(guān)文章

  • EF?Core的CRUD(增刪改查)基本操作

    EF?Core的CRUD(增刪改查)基本操作

    這篇文章介紹了EF?Core的CRUD(增刪改查)基本操作?,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 學(xué)習(xí)制作MVC4分頁(yè)控件(上)

    學(xué)習(xí)制作MVC4分頁(yè)控件(上)

    這篇文章主要教大家學(xué)習(xí)制作MVC4分頁(yè)控件,自己動(dòng)手編寫(xiě)HtmlHelper-Pager分頁(yè)控件,感興趣的小伙伴們可以參考一下
    2016-08-08
  • ASP.NET MVC下Bundle的使用方法

    ASP.NET MVC下Bundle的使用方法

    這篇文章主要為大家詳細(xì)介紹了ASP.NET MVC下Bundle的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • .net framework中引進(jìn)的var對(duì)象類型聲明

    .net framework中引進(jìn)的var對(duì)象類型聲明

    安裝了vs 2008之后,在后臺(tái)代碼中,resharper插件對(duì)后臺(tái)所有局部變量進(jìn)行提示建議,顯示需要采用use implicitly typed local variable declaration,通過(guò)代碼修改建議
    2010-12-12
  • asp.net4.0框架下驗(yàn)證機(jī)制失效的原因及處理辦法

    asp.net4.0框架下驗(yàn)證機(jī)制失效的原因及處理辦法

    asp.net4.0框架下驗(yàn)證機(jī)制失效的原因及處理辦法,需要的朋友可以參考一下
    2013-06-06
  • .NET Core Web APi大文件分片上傳研究實(shí)現(xiàn)

    .NET Core Web APi大文件分片上傳研究實(shí)現(xiàn)

    這篇文章主要介紹了.NET Core Web APi大文件分片上傳研究實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Asp.net 文本框全選的實(shí)現(xiàn)

    Asp.net 文本框全選的實(shí)現(xiàn)

    Asp.net 文本框全選的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2009-12-12
  • asp.net 實(shí)現(xiàn)防迅雷等下載工具盜鏈

    asp.net 實(shí)現(xiàn)防迅雷等下載工具盜鏈

    利用IHttpHandler接口來(lái)監(jiān)聽(tīng)對(duì)本網(wǎng)站的資源請(qǐng)求后綴名是否是我們要阻止的文件,如果是再判斷是否有下載權(quán)限。沒(méi)有就給它返回一個(gè)默認(rèn)的無(wú)用的文件。
    2009-02-02
  • JWT + ASP.NET MVC時(shí)間戳防止重放攻擊詳解

    JWT + ASP.NET MVC時(shí)間戳防止重放攻擊詳解

    這篇文章主要給大家介紹了關(guān)于JWT + ASP.NET MVC時(shí)間戳防止重放攻擊發(fā)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • .Net極限生產(chǎn)力之分表分庫(kù)全自動(dòng)化Migrations?Code-First

    .Net極限生產(chǎn)力之分表分庫(kù)全自動(dòng)化Migrations?Code-First

    這篇文章主要介紹了.Net極限生產(chǎn)力之分表分庫(kù)全自動(dòng)化Migrations?Code-First,輕量級(jí)針對(duì)分表分庫(kù)讀寫(xiě)分離的解決方案,具有零依賴、零學(xué)習(xí)成本、零業(yè)務(wù)代碼入侵適配
    2022-07-07

最新評(píng)論

玉龙| 江都市| 莫力| 宝丰县| 东丰县| 华坪县| 高清| 墨竹工卡县| 于田县| 汪清县| 蓝山县| 剑川县| 册亨县| 新昌县| 涟源市| 广水市| 日照市| 宜阳县| 天长市| 丰都县| 揭阳市| 黎川县| 星子县| 塔河县| 买车| 阿克陶县| 平乡县| 金昌市| 赤水市| 临邑县| 乐都县| 荆州市| 北京市| 北碚区| 墨竹工卡县| 辽宁省| 太康县| 南开区| 孟津县| 三江| 泸定县|