昨晚有在論壇看到一帖,手上的工作一直忙到現在,insus.net現在抽點時間嘗試實現它。
insus.net沒有使用資料庫作為資料來源,而是使用list作為資料來源。因此你在這篇博文中學到很多有關泛型的知識。另外insus.net使用checkboxlist來替代多頁面,讓使用者選擇checkboxlist的選項將會給repeater有多值顯示,也就是繫結多個銨鈕。
建立乙個物件,它將用來儲存資料來源。這個物件有三個屬性[coloursystem],[colourname]和[rgb]
insus.net.colour
using物件建立好之後,我們淮備一些資料來填充它。system;
using
system.collections.generic;
using
system.linq;
using
system.web;
//////
summary description for colour
///namespace
insus.net
set
}public
string
colourname
set
}public
string
rgb
set
}public
colour()
public colour(string coloursystem, string colourname,string
rgb)}}
view code
private listorgdatasource()接下來,我們建立乙個網頁,如default.aspx,然後拉乙個checkboxlist控制項入網頁中:
現在,我們需要從上面準備好的物件中過濾一些資料來繫結至這個checkboxlist控制項,從list<
colour
>
泛型中過濾資料:
過濾好資料,我們就可以繫結給checkboxlist控制項。
看看效果:
到這裡,你學到什麼?學到了過濾list的資料,還學會了把list繫結至checkboxlist控制項內。
跟著,我們在default.aspx網頁內,寫repeater控制項, 控制項內繫結乙個button按鈕:
由於這個repeter控制項是隨引數(coloursystem)不同,而顯示不同的資料,所在我們需要寫乙個方法,去過濾list<
下面,我們還要寫乙個方法,就是想辦法把checkboxlist控制項選項選中的存起來。
現在,我們需要對checkboxlist控制項選擇時,有對repeater控制項資料繫結異動,在default.aspx網頁上,在checkboxlist控制項新增乙個屬性和乙個事件:
我們在onselectedindexchanged事件中,繫結repeater控制項:
看到否? list<
colour
> 泛型繫結給repeater控制項,相信你也會了。看看效果吧:
寫到這裡,已經接近尾聲了,也是最重要的部分,怎樣寫呢,要求是使用者點選銨鈕時,能改變銨鈕的顏色,其實這個也是repeater控制項內銨鈕事件異動而已。
我們在default.aspx網頁的repeater控制項,新增乙個事件:
去default.aspx.cs寫上面的事件:
上圖中,即是說把reaper控制項的button銨鈕的click事件, insusbutton_click:
第110行**,就是改變按鈕的顏色。看看效果:
大功告成。
Repeater控制項
1.repeater 控制項是模板化的資料繫結列表,repeater 控制項是 無外觀的 即 它不具有任何內建布局或樣式,也就不會產生任何資料控制 來控制資料的顯示。2.repeater控制項的樣式得在資料來源頁用模板來做。可以用表或者div。例如 eval id 然後在後台繫結就行。if e.co...
Repeater控制項
在顯示資料時有另乙個主要的控制項 repeater控制項。問得最頻繁的問題是,在什麼時候使用哪個控制項。表9 6對這些控制項的差別作出了總結。表9 6 比較repeater datalist和gridview控制項 特 性 repeater datalist gridview 支援表 table 布...
repeater控制項分頁
region 資料來源繫結 分頁 初始資料繫結 public void databindtorepresouce string condition else int curpage convert.toint32 this.la page.text pageddatasource ps new pa...