TemplateField模板中的Bind方法和Eval方法
2008-06-17 12:57
393 查看
在TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现。以下是Bind方法的格式,Eval的格式也是和Bind一样的。 Bind("列的名称","显示的格式文")
比如我们要取个日期型的数据,在数据库中列名是updated,数值是2008/06/01。但是想2008年06月01日这样显示,我们可以这样来写Bind("updated", "{0:yyyy年MM月dd日}"),Eval也是如此。
2者都能读取数据中的值,并显示。当我们使用编辑更新操作时,Bind能够自动的将修改的值更新到数据库中,并显示出修改后的值。但是用了Eval却只能得到错误画面,新的数据没有更新到数据库中。
从这点看来,Bind方法和Eval方法的区别就是:Bind方法在读取和更新数据这2方面都是可以,但是Eval方法只能读取显示数据。所以,我们在选择Bind方法和Eval方法的时候,必须要有争对性,当数据肯定需要更新操作的时候我们应该使用Bind,只是显示数据,不会有任何操作的就可以使用Eval方法。
在更新操作中我们可以在GridView1_RowUpdating事件中操作,例子如下:
如果我们能充分理解Bind方法和Eval方法,其实也就没必要向上面那样去写,都是可以自动完成的。上面的方法除了比较复杂的操作才会用到,这也是一个使用技巧。
比如我们要取个日期型的数据,在数据库中列名是updated,数值是2008/06/01。但是想2008年06月01日这样显示,我们可以这样来写Bind("updated", "{0:yyyy年MM月dd日}"),Eval也是如此。
2者都能读取数据中的值,并显示。当我们使用编辑更新操作时,Bind能够自动的将修改的值更新到数据库中,并显示出修改后的值。但是用了Eval却只能得到错误画面,新的数据没有更新到数据库中。
从这点看来,Bind方法和Eval方法的区别就是: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; }
如果我们能充分理解Bind方法和Eval方法,其实也就没必要向上面那样去写,都是可以自动完成的。上面的方法除了比较复杂的操作才会用到,这也是一个使用技巧。
相关文章推荐
- asp.net TemplateField模板中的Bind方法和Eval方法
- asp.net TemplateField模板中的Bind方法和Eval方法
- ASP.net TemplateField模板中的bind方法和Eval方法的区别
- asp.net TemplateField模板中的Bind方法和Eval方法
- 设计模式--模板方法模式Template
- 模板方法模式(Template Method Pattern
- 设计模式 - Template Method Pattern(模板方法模式)
- 行为模式之模板方法模式(Template Pattern)C++实现
- C#设计模式之Template模板方法模式实现ASP.NET自定义控件 密码强度检测功能
- 模板方法Template
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
- Eval 和 Bind 方法的区别
- template模板的使用方法
- 设计模式之模板方法模式(Template)
- 《模式——工程化实现及扩展》(设计模式C# 版)《模板方法模式 Template》——“自我检验"
- 第 9 章 模板方法模式【Template Method Pattern】
- Php设计模式之【模板方法模式Template Method Pattern 】
- The Template Method Pattern 模板方法模式
- java设计模式之模板方法模式Template method
- Java设计模式(16)——行为模式之模板方法模式(Template)