摘要:学习如何避免在使用ASP.NETDatagrid控件进行开发时可能发生的一些常见错误。
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控件是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()方法。