asp.net基础知识点汇总-新闻详情

asp.net基础知识点汇总


发布时间:2018-08-31责任编辑:满帅 浏览:1762


1.1 数据源控件有哪几种,分别有什么作用?

答案:

有五种数据源控件,分别是:SqlDataSource、AccessDataSource、ObjectDataSource、XmlDataSource、SiteMapDataSource。

这五种数据源控件获取数据的源分别为:数据库、Access数据库、方法、XML文件、站点地图

1.2 数据绑定控件代码绑定数据有几种方式,需要注意什么 ?

答案:

数据源控件代码绑定方法有两种

1、代码示例:

Gvinfo.DataSourceId=“数据源控件Id”;

2、代码示例:

Gvinfo.DataSource=类.方法(); //返回符合条件的类型

Gvinfo.DataBind();

需要注意的是:绑定数据源控件,指定DataSourecId属性即可;绑定方法返回类型,必须指定DataSource之后,调用DataBind()方法

1.3 GrideView的七种列都是什么,各自的作用是什么?

答案:

BoundField,用于显示普通文本

TemplateField,用于自定义列绑定内容的列

ButtonField,用于创建按钮列

CommandField,GrideView自带命令功能的列

HyperLinkField,创建超链接的列

ImageField,用于显示图片的列

CheckBoxField,创建复选框的列

1.4 GrideView的Eval和Bind绑定方式有什么区别?

答案:

Eval是只读的绑定方式,一般为显示控件绑定数据,在触发GrideView命令时,不会回传数据

Eval方法可以通过<%#Eval(“列名”,“格式”)%>可以对显示数据进行格式化

Bind方法是双向的绑定方式,一般和输入控件联合使用,在触发GrideView命令时,回传数据

没有格式化功能,只有<%#Bind(“列名”)%>的方式

1.5 如何显示货币格式?对显示列有什么要求?

答案:

在绑定列的DataFormatString属性可以设置显示的格式,设置为{0:C}为货币格式

需要注意的是,显示列必须可以转化为货币格式

1.6 GrideView的行绑定触发事件是什么?在操作时需要注意的是什么?

答案:

GrideView的在绑定行数据时,触发RowDataBound事件

需要注意的是,绑定不仅仅是数据行,还包含头和尾,所以我们在操作数据行时,需要利用(e.Row.RowType==DataControlRowType.DataRow)判断此行是否是数据行,避免引异常

1.7 在GrideView中,常用什么方法给控件添加客户端脚本?

答案:

利用以下语法添加:

控件名.Attributes.Add(“客户端事件”,”脚本内容”);

例如:btnOk.Attributes.Add(“onclick”,” ”);

1.8 如何制作光棒效果?

答案:

首先,确定思路:在每行绑定数据的时候,添加客户端脚本

在RowDataBound中编写以下代码

If(e.Row.RowType==DataControlRowType.DataRow)

{

e.Row.Attributes.Add(“onmouseover”,”c=this.style.backgroundColor; this.style.backgroundColor=#ffffff”);

e.Row.Attributes.Add(“onmouseout”,”this.style.backgroundColor=c”);

}

1.9 在显示信息列表后,点击某条信息后跳转到新页面,显示详细信息,我们通常用哪两个控件?如何设置?

答案:

用GrideView显示列表,DetailsView在新页面显示具体信息。

需要在GrideView中添加HyperLink列,设置 DataNavigateUrlField=绑定列名

DataNavigateFormatString=跳转页?参数名={0}

在详细信息页面,设置ObjectDataSource的参数来源为QueryString,设置QueryStringField=参数名

2.1 验证控件的验证是客户端的还是服务端的?如果客户禁用了脚本,验证是否有效?

答案:

验证控件是在客户端和服务端都验证的,EnableClientScript属性为true时,客户端会截断错误的验证,不会回传。

如果客户端禁用了脚本,即使是错误的数据也会回传,但我们仍然可以通过Page.IsValid属性判断是否通过验证。因为服务端验证仍然存在

2.2 5种验证控件和1中汇总控件是什么,各自作用是什么 ?

答案:

RequiredFieldValidator,非空验证

CompareValidator,比较验证

RangeValidator,范围验证

RegularExpressionValidator,正则表达式验证

CustomValidator,自定义验证

ValidationSummary,不验证,可以汇总验证提示

需要注意的是,ValidationSummary汇总的是每个控件的ErrorMessage属性的值

2.3 如何编写以下几个匹配公式:包含1-9、1-9组成的数字、10位数字?

答案:

[1-9]匹配成功

[^1-9]匹配失败

d{10}匹配成功

2.4 自定义控件的服务端事件是什么?自定义控件的客户端脚本参数是什么?如何控制验证失败?

答案:

服务端事件是ServerValidate

客户端脚本参数有两个。第一个参数代表事件源,第二个代表参数事件提供数据

验证失败,需要设置:参数事件提供数据.IsValid=false;

2.5 如何给更新命令追加参数?为什么要追加参数?

答案:

追加参数:

ObjectDataSource1.UpdateParameters.Add(“参数名”,“参数值”);

原因是有些列是通过Eval方法绑定的,不会回传数据,但还需要更新,就必须通过追加参数的方式回传数据

3.1 DataList和GrideView相比,优点和功能缺陷是什么?

答案:

优点是效率比GrideView高,功能缺陷是没有集成的排序、分页功能。

3.2 如何设置DataList的内容和分隔符?

答案:

可以在DataList的ItemTemplate中设置内容

可以在SeparateTemplate中设置分隔符

3.3 通用双top分页语句和SQL2005的分页语句的原理各自是什么?

答案:

双top的原理是先查出当前页之前的所有记录,然后使用not in 来选择相邻的记录,注意两者的排序条件必须一致

SQL2005的分页语句原理是通过Row_Number() Over(Order by 条件)给所有的记录添加一个新的id列,这个id列是连续的数字,然后可以使用between来选择当前页内容

3.4 PagedDataSource分页和SQL分页相比有何优缺点?

答案:

PagedDataSource的原理是接受全部的记录集,存储在内存中,然后通过属性改变当前页即可,连接一次数据库即可。节省了连接数据库的开销。但是如果数据量过大,会占用太多的内存

SQL分页是每次翻页都连接数据库,取出当前页的数据。缺点是多次连接数据库,优点是数据量大的时候,不会占用太多的内存而导致内存崩溃

3.5 PagedDataSource的重要属性有哪些?

答案:

CurrentPageIndex:当前页

PageCount:总页数

Count:总信息数

PageSize:每页信息数

DataSource:数据源

AllowPaging:是否自动分页

3.6 ViewState的原理是什么?如何使用?

答案:

ViewState是页面级的保持对象,会在客户端和服务端来回传递。

ViewState[“名称”]=赋值;

取值=ViewState[“名称”]

3.7 Repeater生成什么HTML代码?是否有图形设计页面 ?

答案:

Repeater不生成任何额外的HTML代码。

Repeater没有图形设计页面,只能通过源来手动添加数据


项目开发组  供稿