您的位置:首页 > 编程语言 > ASP

ASP.Net常见技术疑难解析(一)

2008-12-04 22:10 337 查看

Repeater控件的使用

Repeater控件是ASP.Net数据呈现的重要控件之一,当我们把控件拖到界面时,控件内什么也没有,一切都等待我们去手动创建,这样虽然有点费事,但正是因为"一张白纸好画画",Repeater控件在数据呈现时的自由度和灵活性也是最好的.它甚至允许我们在Header模板及Footer模板中使用诸如之类的标签.
对Repeater控件的编辑基本上是在"源"视图内手工编辑HTML代码来完成的.添加table,tr,td及控件的各大模板来控制数据的内容,格式及样式等.
Repeater 控件是唯一允许在模板间拆分标记的 Web 控件。若要利用模板创建表,请在 HeaderTemplate 中包含表开始标记 (
),在 ItemTemplate 中包含单个表行标记 (),并在 FooterTemplate 中包含表结束标记 (
)。
Repeater 控件没有内置的选择功能和编辑支持。但可以使用 ItemCommand 事件来处理从模板引发到该控件的控件事件。
Repeater 控件提供两个属性以支持数据绑定。若要将数据绑定到实现 System.Collections.IEnumerable 接口(如 System.Data.DataView、System.Collections.ArrayList、System.Collections...Hashtable 或数组)或 IListSource 接口的任意对象,请使用 DataSource 属性指定数据源。在设置 DataSource 属性时,必须手动编写代码才能执行数据绑定。若要将 Repeater 控件自动绑定到由数据源控件表示的数据源,请将 DataSourceID 属性设置为要使用的数据源控件的 ID。在设置 DataSourceID 属性时,Repeater 控件自动绑定到第一个请求上指定的数据源控件。因此,除非更改了 Repeater 控件的与数据相关的属性,否则不必显式调用 DataBind 方法。

GridView控件中如何实现列的格式化显示及汇总计算

在.Net 1.0的时候,有DataGrid控件可以在ItemDataBound事件中编写脚本,实现列的格式化显示及汇总计算.而到了2.0时代,GridView控件基本代替了DataGrid控件,GridView控件不仅可以轻松实现原来DataGrid控件的数据呈现效果和功能,还可以非常方便的实现分页,排序等DataGrid控件中需要编写大量代码才能实现的功能.
格式化显示数据:GridView控件允许我们编辑列的属性.其中的DataFormatString可以控制数据显示的格式.如"{0:c}"表示以货币的标准格式显示数据,"{0:d}"表示以短日期格式显示日期;也可以在RowDataBound事件中实现数据的格式化.具体如下代码.
汇总计算:要实现对列的汇总计算,必须逐项相加取累加值,我们可以利用RowDataBound事件逐行处理.呈现 GridView 控件之前,该控件中的每一行必须绑定到数据源中的一条记录。将某个数据行(用 GridViewRow 对象表示)绑定到 GridView 控件中的数据以后,将引发 RowDataBound 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时就执行一个自定义例程(如修改绑定到该行的数据的值)。GridViewRowEventArgs 对象将传递给事件处理方法,以便您可以访问正在绑定的行的属性。若要访问行中的特定单元格,请使用 GridViewRowEventArgs 对象的 Row 属性中包含的 GridViewRow 对象的 Cells 属性。使用 RowType 属性可确定正在绑定的是哪一种行类型(标题行、数据行等等)。具体代码如下:
if (e.Row.RowType == DataControlRowType.DataRow)
{
    total += Double.Parse(e.Row.Cells[2].Text);//汇总计算
    e.Row.Cells[2].Text = string.Format("{0:c}", Convert.ToDouble(e.Row.Cells[2].Text)); //格式化显示
}
if (e.Row.RowType == DataControlRowType.Footer)
{
    e.Row.Cells[0].Text = "总计:";
    e.Row.Cells[2].Text = string.Format("{0:c}", total);
}

数据源控件中参数值的源

数据源控件需要使用参数值来指定需要选择哪些数据,或者指定如何修改数据以及修改什么数据。通常情况下,页面包含一些 UI,以定义那些必须在选择操作中使用的参数,而数据绑定控件提供了参数值来进行插入、更新和删除操作。
Parameter 基类代表一个通用参数。Microsoft Visual Studio 2005 提供了诸如 QueryStringParameter 之类的参数,以便将数据从查询字符串参数请求到数据源中。另一个非常有用的参数是 ControlParameter,该参数允许从任一控件属性中请求数据。如果内置参数类型不能满足您的要求,则您可以定义自己的参数类型。这样您就可以使页面与粘接代码不相关,而是将该代码整齐地封装在参数实现中。
除了从不同的源中请求值,这些参数还可以跟踪值的更改情况,并通知这些更改的所属数据源,进而引发数据源更改通知,最终在数据绑定控件中触发数据绑定操作。简而言之,这就是使用 ControlParameters 时,主要的声明性详细方案所依据的原理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: