技術分類:程式設計
Repeater
開發ASP.NET程式時,Repeater是一個非常實用的控制項,可是實際操作時總會遇到點瓶頸,就像以下的例子(以北風northwind資料庫作為例子),當完成了將員工資料利用Repeater載入網頁後,面臨一個頭痛的問題,在每個Itemtemplate裡面的按鈕,btnCalc按下去後,希望可以算出該項目的資料(這裡以計算出到目前為止的年資為例),問題是,怎麼”找到”這一個項目中的控制項內容?
利用一個簡單的語法就可以找到按鈕旁邊的Label控制項。
protected void btnCalc_Click(object sender, EventArgs e) {
Label lblDate = (Label)((Button)sender).NamingContainer.FindControl("lblHireDate"); Label lblYr = (Label)((Button)sender).NamingContainer.FindControl("lblYear"); DateTime d;
if (DateTime.TryParse(lblDate.Text, out d))
lblYr.Text = (DateTime.Today.Subtract(d).Days / 365.0).ToString("#.00");
}
NamingContainer可以在Repeater中找到目前控制項的容器(Container),在這個容器中,找到該控制項。這樣子就可以很容易的操作在Repeater中的控制項了。
沒有留言:
張貼留言