手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net TemplateField模板中的Bind方法和Eval方法
asp.net TemplateField模板中的Bind方法和Eval方法
摘要:比如我们要取个日期型的数据,在数据库中列名是updated,数值是2008/06/01。但是想2008年06月01日这样显示,我们可以这样来...

比如我们要取个日期型的数据,在数据库中列名是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;

}

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发邮件的几种方法汇总

Asp.net禁用页面缓存的方法总结

asp.net Repeater取得CheckBox选中的某行某个值

asp.net post方法中参数取不出来的解决方法

asp.net中导出excel数据的方法汇总

asp.net Split分割字符串的方法

asp.net读取excel文件的三种方法示例

asp.net UpdatePanel的简单用法

asp.net获取HTML表单File中的路径的方法

asp.net WebForm页面间传值方法

精品推荐
分类导航