ASP.Net开发者常见Datagrid错误
2009-05-12 22:08:20来源:未知 阅读 ()
Datagrid控件是Microsoft®ASP.NET中功能最强、用途最广的Web控件之一,这一点已经得到了ASP.NET权威人士的认同。虽然Datagrid控件易于使用,但同样易于给使用者带来麻烦。以下是许多人所犯的一些错误,这些人包括从初学者到富有经验的.NET专家。您可以看到许多苦闷的使用者在ASP.NET新闻组和论坛就这些错误提出问题。遵循本文概述的相当简单的步骤,可以帮助您避免这些错误,并节约大量的开发时间。
可以使用Datagrid创建列表数据而没有使用
我知道您不会再使用如下所示的代码,但ASP.NET领域中许多守旧的用户仍在继续使用它们:
可以对以上代码进行简化,使其仅为:
<asp:datagridrunat="server"datasource="MyDataReader"/>,并调用.DataBind()方法。即使需要对HTML输出进行特殊的控制,您也可以在用户界面上记录集的内容重复出现的情况下,使用某个数据Web控件。
忘记在Page_Load事件中检查IsPostBack
最常见的错误之一是忘记在数据绑定之前检查页面的IsPostBack条件。例如,Datagrid处于“Edit”(编辑)模式时,忽略该项检查将导致已编辑的值被数据源中的原始值覆盖。
以下是包含IsPostBack检查的一个典型Page_Load事件。BindGrid()是一个例程,用于导入并设置Datagrid的数据源,并调用DataBind()方法。
需要更大的灵活性时,仍坚持使用自动生成的列
如果Datagrid所处的环境需要任何一种特殊格式,或是需要使用Datagrid中的其他任何Web控件,那么必须关闭AutoGenerateColumns。将AutoGenerateColumns属性的设置保持为“True”(默认设置)的做法,仅在最简单的Datagrid方案中有效。但对几乎所有实际的应用程序,必须将该属性设置为“False”,并在Datagrid声明的<columns></columns>段中明确地指定列。MicrosoftVisualStudio®.NET用户可以使用属性生成器以图形化的方式创建这些列。
注意:如果将AutoGenerateColumns的设置保持为“True”,并且在Datagrid的<columns>段中指定了列,那么最终将得到对列的重复设置。系统将首先显示特别声明的列,随后是所有自动生成的列。
尝试仅使用控件ID来引用Datagrid项目中的控件
许多人没有认识到,对于Datagrid的TemplateColumn下的ItemTemplate中的控件(例如带有“MyTextBox”ID的TextBox控件),不能在后面的代码或是在ASPX页面的<script>段中用如下所示的代码来直接调用该控件:
该代码将导致可怕的“名称‘MyTextBox’没有声明”错误。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:ASP.NET数据库缓存依赖
- Asp.net MVC中Razor常见的问题与解决方法总结 2020-01-18
- sealed在C#中的作用说明 2019-09-17
- IIS 503错误解决办法 HTTP Error 503 2019-07-24
- 配置接口配置文件 明确指出错误信息(“/”服务器上出现应用 2019-07-23
- Asp.Net MVC中记录错误日志保存到本地txt文件 2019-05-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash