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日这样显示,我们可以这样来写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方法,其实也就没必要向上面那样去写,都是可以自动完成的。上面的方法除了比较复杂的操作才会用到,这也是一个使用技巧。

相关文章

  • .Net防sql注入的几种方法

    .Net防sql注入的几种方法

    这篇文章主要给大家总结介绍了关于.Net防sql注入的几种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用.Net具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • asp.net core mvc实现文件上传实例

    asp.net core mvc实现文件上传实例

    本篇文章主要介绍了asp.net core mvc实现文件上传实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • Asp.net 网站性能优化二则分享

    Asp.net 网站性能优化二则分享

    Web服务器的性能优化有很多资料介绍了,多台主机负载均衡,查询结果的多级缓存,数据库索引优化等都是常见的优化手段。
    2011-08-08
  • ASP.NET实现的简单易用文件上传类

    ASP.NET实现的简单易用文件上传类

    这篇文章主要介绍了ASP.NET实现的简单易用文件上传类,本文给出实现代码和使用方法示例,需要的朋友可以参考下
    2015-06-06
  • ASP.NET MVC5 网站开发框架模型、数据存储、业务逻辑(三)

    ASP.NET MVC5 网站开发框架模型、数据存储、业务逻辑(三)

    上次搭建好了项目框架,但还是觉得不太对劲,后来才想起来没有对开发目标进行定位,这个小demo虽然不用做需求分析,但是要实现什么效果还得明确。后来想了一下就做个最简单的网站,目标定为小公司进行展示用的网站。功能有显示用的文章功能,咨询留言,评论等
    2015-09-09
  • 在.NET MAUI应用中配置应用生命周期事件

    在.NET MAUI应用中配置应用生命周期事件

    本文详细讲解了在.NET MAUI应用中配置应用生命周期事件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • asp.net中利用ashx实现图片防盗链代码

    asp.net中利用ashx实现图片防盗链代码

    直接分析盗链原理:看下面用httpwatch截获的http发送的数据
    2008-11-11
  • ASP.NET Core 3.x 并发限制的实现代码

    ASP.NET Core 3.x 并发限制的实现代码

    这篇文章主要介绍了ASP.NET Core 3.x 并发限制的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • .NET单元测试使用AutoFixture按需填充的几种方式和最佳实践记录

    .NET单元测试使用AutoFixture按需填充的几种方式和最佳实践记录

    AutoFixture是一个.NET库,旨在简化单元测试中的数据设置过程,通过自动生成测试数据,它帮助开发者减少测试代码的编写量,使得单元测试更加简洁、易读和易维护,本文介绍.NET单元测试使用AutoFixture按需填充的几种方式和最佳实践记录,感兴趣的朋友一起看看吧
    2024-07-07
  • asp.net保存远程图片的代码

    asp.net保存远程图片的代码

    最近有点烦,没怎么看书,几天下来,就研究了一个保存远程图片的。
    2008-09-09

最新评论