asp.net TemplateField模板中的Bind方法和Eval方法
程序员文章站
2024-03-11 14:54:49
比如我们要取个日期型的数据,在数据库中列名是updated,数值是2008/06/01。但是想2008年06月01日这样显示,我们可以这样来写bind("updated",...
比如我们要取个日期型的数据,在数据库中列名是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方法,其实也就没必要向上面那样去写,都是可以自动完成的。上面的方法除了比较复杂的操作才会用到,这也是一个使用技巧。
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方法,其实也就没必要向上面那样去写,都是可以自动完成的。上面的方法除了比较复杂的操作才会用到,这也是一个使用技巧。
上一篇: Python 安装编码报错 - UnicodeDecodeError 博客分类: Python pythonsysasciiUnicodeDecodeError
下一篇: java生成图片验证码实例代码
推荐阅读
-
asp.net TemplateField模板中的Bind方法和Eval方法
-
asp.net TemplateField模板中的Bind方法和Eval方法
-
asp.net 数据绑定 使用eval 时候报 字符文本中的字符太多 问题的解决方法
-
asp.net下将页面内容导入到word模板中的方法
-
asp.net 数据绑定 使用eval 时候报 字符文本中的字符太多 问题的解决方法
-
asp.net下将页面内容导入到word模板中的方法
-
Asp.net中static变量和viewstate的使用方法(谨慎)
-
Asp.net中static变量和viewstate的使用方法(谨慎)
-
asp.net中js和jquery调用ashx的不同方法分享
-
asp.net 中静态方法和动态方法调用的区别实例分析