asp.net TemplateField模板中的Bind方法和Eval方法
更新時間:2009年06月17日 20:04:29 作者:
在TemplateField模板中為了能夠有限制的或者取出數據庫中某列的值時,可以用Bind和Eval方法來實現。以下是Bind方法的格式,Eval的格式也是和Bind一樣的。 Bind("列的名稱","顯示的格式文")
比如我們要取個日期型的數據,在數據庫中列名是updated,數值是2008/06/01。但是想2008年06月01日這樣顯示,我們可以這樣來寫B(tài)ind("updated", "{0:yyyy年MM月dd日}"),Eval也是如此。
2者都能讀取數據中的值,并顯示。當我們使用編輯更新操作時,Bind能夠自動的將修改的值更新到數據庫中,并顯示出修改后的值。但是用了Eval卻只能得到錯誤畫面,新的數據沒有更新到數據庫中。
從這點看來,Bind方法和Eval方法的區(qū)別就是:Bind方法在讀取和更新數據這2方面都是可以,但是Eval方法只能讀取顯示數據。所以,我們在選擇Bind方法和Eval方法的時候,必須要有爭對性,當數據肯定需要更新操作的時候我們應該使用Bind,只是顯示數據,不會有任何操作的就可以使用Eval方法。
在更新操作中我們可以在GridView1_RowUpdating事件中操作,例子如下:
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方法,其實也就沒必要向上面那樣去寫,都是可以自動完成的。上面的方法除了比較復雜的操作才會用到,這也是一個使用技巧。
2者都能讀取數據中的值,并顯示。當我們使用編輯更新操作時,Bind能夠自動的將修改的值更新到數據庫中,并顯示出修改后的值。但是用了Eval卻只能得到錯誤畫面,新的數據沒有更新到數據庫中。
從這點看來,Bind方法和Eval方法的區(qū)別就是:Bind方法在讀取和更新數據這2方面都是可以,但是Eval方法只能讀取顯示數據。所以,我們在選擇Bind方法和Eval方法的時候,必須要有爭對性,當數據肯定需要更新操作的時候我們應該使用Bind,只是顯示數據,不會有任何操作的就可以使用Eval方法。
在更新操作中我們可以在GridView1_RowUpdating事件中操作,例子如下:
復制代碼 代碼如下:
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方法,其實也就沒必要向上面那樣去寫,都是可以自動完成的。上面的方法除了比較復雜的操作才會用到,這也是一個使用技巧。
相關文章
詳解ASP.NET Core3.0 配置的Options模式
這篇文章主要介紹了詳解ASP.NET Core3.0 配置的Options模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08Asp.net頁面中調用soapheader進行驗證的操作步驟
這篇文章主要介紹了Asp.net頁面中調用soapheader進行驗證的操作步驟,感興趣的小伙伴們可以參考一下2016-04-04ASP.NET開源導入導出庫Magicodes.IE完成Csv導入導出的方法
這篇文章主要介紹了ASP.NET開源導入導出庫Magicodes.IE完成Csv導入導出的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06asp.net的IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的用法
IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的功能,是定位字符或定位子串2012-10-10