欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

asp.net TemplateField模板中的Bind方法和Eval方法

 更新時(shí)間:2009年06月17日 20:04:29   作者:  
在TemplateField模板中為了能夠有限制的或者取出數(shù)據(jù)庫(kù)中某列的值時(shí),可以用Bind和Eval方法來(lái)實(shí)現(xiàn)。以下是Bind方法的格式,Eval的格式也是和Bind一樣的。 Bind("列的名稱(chēng)","顯示的格式文")
比如我們要取個(gè)日期型的數(shù)據(jù),在數(shù)據(jù)庫(kù)中列名是updated,數(shù)值是2008/06/01。但是想2008年06月01日這樣顯示,我們可以這樣來(lái)寫(xiě)B(tài)ind("updated", "{0:yyyy年MM月dd日}"),Eval也是如此。
2者都能讀取數(shù)據(jù)中的值,并顯示。當(dāng)我們使用編輯更新操作時(shí),Bind能夠自動(dòng)的將修改的值更新到數(shù)據(jù)庫(kù)中,并顯示出修改后的值。但是用了Eval卻只能得到錯(cuò)誤畫(huà)面,新的數(shù)據(jù)沒(méi)有更新到數(shù)據(jù)庫(kù)中。
從這點(diǎn)看來(lái),Bind方法和Eval方法的區(qū)別就是:Bind方法在讀取和更新數(shù)據(jù)這2方面都是可以,但是Eval方法只能讀取顯示數(shù)據(jù)。所以,我們?cè)谶x擇Bind方法和Eval方法的時(shí)候,必須要有爭(zhēng)對(duì)性,當(dāng)數(shù)據(jù)肯定需要更新操作的時(shí)候我們應(yīng)該使用Bind,只是顯示數(shù)據(jù),不會(huì)有任何操作的就可以使用Eval方法。
在更新操作中我們可以在GridView1_RowUpdating事件中操作,例子如下:
復(fù)制代碼 代碼如下:

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//更新行GridViewRow
GridViewRow row = this.GridView1.Rows[e.RowIndex];
//查找更新的控件
DropDownList present = (DropDownList)row.FindControl("ddlPresent");
TextBox price = (TextBox)row.FindControl("txtPrice");
TextBox updated = (TextBox)row.FindControl("txtUpdated");
//更新
e.NewValues["present"] = present.SelectedValue;
e.NewValues["price"] = price.Text;
e.NewValues["updated"] = updated.Text;
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//更新行GridViewRow
GridViewRow row = this.GridView1.Rows[e.RowIndex];
//查找更新的控件
DropDownList present = (DropDownList)row.FindControl("ddlPresent");
TextBox price = (TextBox)row.FindControl("txtPrice");
TextBox updated = (TextBox)row.FindControl("txtUpdated");
//更新
e.NewValues["present"] = present.SelectedValue;
e.NewValues["price"] = price.Text;
e.NewValues["updated"] = updated.Text;
}

如果我們能充分理解Bind方法和Eval方法,其實(shí)也就沒(méi)必要向上面那樣去寫(xiě),都是可以自動(dòng)完成的。上面的方法除了比較復(fù)雜的操作才會(huì)用到,這也是一個(gè)使用技巧。

相關(guān)文章

最新評(píng)論