ASP.NET考点

一、题目类型

简答题 6个

综合题 5个

编程 2个 ADO.NET对数据的操作

二、重点复习内容

1、B/S与C/S架构区别

​ ①c/s架构主要应用于局域网内,而b/s架构主要用于广域网中;

​ ②c/s架构一般面个固定的用户群,对信息安全的控制能力很强,而b/s架构对安全的控制能力相对弱;

​ ③b/s架构维护升级比较简单,而c/s架构维护升级相对困难。

2、Web窗体处理流程

​ ①当用户请求web窗体时,页面框架初始化被最初执行,这个过程生成所有在aspx页面中定义的控件。此外如果页面不是首次被请求,而是通过回送请求,这个过程将反序列化视图状态信息,并应用到控件。在此过程会触发Page.Init事件。

​ ②在用户代码初始化阶段将会触发Page_Load事件,不管是首次请求还是回送请求,Page.Load事件总是会被触发,ASP.NET提供IsPostBack属性判断是否为回送请求。

​ ③在验证时,ASP.NET包含的验证控件能够自动验证用户控件,并显示错误消息。验证控件在页面加载后&&任何事件触发前验证。提供Page.IsValid属性判断当前页面是否通过验证。

​ ④事件处理过程发生在页面被完全加载并且验证之后,在这个过程,将处理开发人员在控件事件编写的代码。

​ ⑤若页面使用了数据源控件,将自动完成数据的绑定操作,并实现数据的更新和查询。一种产生数据改变的操作(插入删除更新),发生在所有控件事件执行完毕&&Page.PreRender事件触发之前。另一种在Page.PreRender触发之后,数据源控件完成查询工作,并向所链接的控件插入数据。

​ ⑥在自动数据绑定事件完成之后,将生成HTML输出到客户端。当页面输出后进行清除工作,Page.Unload事件触发,Page对象仍然可用,但是HTML已经输出到浏览器无法更改,可以在Page.Unload事件中添加代码完成清除工作。

D0577A7237E4718A856306753865F937

3、用户在浏览器上请求调用ASP.NET页面的具体过程:

​ ①IIS(Internet Information Services )接收这个请求,识别出将要请求的文件类型为ASPX文件,并调用aspnet_isapi.dll模块处理它。

​ ②aspnet_isapi.dll接收请求,将请求的页面实例化成一个ASPX对象,并调用该对象的显示方法。该方法动态生成HTML,并返回IIS。

​ ③IIS将HTML发送给浏览器。

image-20220613215039143

4、web生命周期各个阶段

​ ①页面初始化。页面以及其控件被初始化。页面确定这是一个新的请求还是一个回传请求。页面事件处理器Page_PReInit和PageInit被调用,才外,任何服务器空间的PreInit和Init被调用。

​ ②载入。如果请求是一个回传请求,控件属性使用从视图状态和控件状态的特殊页面状态容器中回复的信息载入。页面Page_Load方法以及服务器空间的Page_Load方法事件被调用。

​ ③回送事件处理。如果请求是个回转请求,任何控件的回发事件处理器被调用。

​ ④呈现。在页面呈现状态中,视图状态保存到页面,然后每个空间以及页面都是把自己呈现给输出相应流。页面和控件的PreRender和Render方法先后被调用。最后呈现的结果通过HTTP响应送回客户机。

​ ⑤卸载。对页面使用过的资源进行最后的清除处理。控件或页面的Unload方法被调用。

5、页面跳转的方式(response、rediect)

​ ①使用a标签。

​ ②超文本链接控件

​ ③ Response.Redirect(" ")使浏览器立即重定向到程序指定的url,可以跳转任意页面

​ ④Server.Transfe:终止当前页面的执行,并为当前请求开始执行新页

​ ⑤Server.execute:使用另一页执行当前请求,只能在同一个站点跳转

​ ⑥其他

copy
string str = "<script language=javascript></script>" Response.Write(str) //下面这些放到str的script标签里 window.location.href(‘www.baidu.com’) history.back(-1) //直接返回当前页的上一页,数据全部消息,是个新页面 history.go(-1)://也是返回当前页的上一页,不过表单里的数据全部还在 window.location.reload(); //刷新 window.history.forward(); //前进 window.history.back(); //返回

6、页面之间传值方式、各自的特点

​ ①url传值:

​ 优点:使用简单

​ 缺点:不能直接传递对象且数据暴露在地址栏中,不安全

copy
~/GetValues.aspx?userId=1

​ ②Session传值:

​ 优点:可以传递比较多的数据且数据安全性较高

​ 缺点:如果储存太多会消耗过多的服务器资源

copy
Session["username"] = “admin”;

​ ③Application传值

​ 优点:可用范围广,覆盖整个web程序

​ 缺点:安全性低

copy
Application["nums"] = 0;

​ ④cookie传值

​ 优点:可以在用户电脑上保存信息,可以实现自动登录

​ 缺点:安全性低,不适合存储敏感数据

copy
HttpCookie cookie = new HttpCookie("user"); cookie.values.Add("username","admin"); cookie.values.Add("password","123456");

​ ⑤Sever.Transfer();

​ 优点:直接在服务器端重定向,使用简单方便,减少了客户端对服务器提出请求的次数

​ 缺点:页面之间如果需要传递数量比较多的值,这种方法需要定义过多的属性,比较繁杂

7、内部状态管理对象以及作用(cookie、session)

​ ①ViewState对象

​ ASP.NET框架管理的一个隐藏窗体字段。

​ ②Cookie对象

​ 服务器暂时存在计算机中的资料(文本文件),让服务器辨认用户的计算机。站点可以利用Cookie对象保存用户的首选项和其他信息。

​ ③Session对象

​ Session对象为每个用户的会话保存信息,只能自己用户访问。

​ ④Application对象

​ Application对象为经常使用的信息提供一个Web站点存储位置,可以被多个用户共享。原理是在服务器建立一个状态变量,来存储所需要的信息。

8、c#的抽象类、接口、普通类之间的区别

​ ①都可以被继承

​ ② 抽象类和接口不能被实例化,只是用来继承的。普通类可以实例化

​ ③接口可以多继承,抽象类和普通类不可以多继承

​ ④接口只有方法定义,没有实现,抽象类的抽象方法只有方法定义。当注重代码的扩展性跟可维护性时,应当优先采用接口。当需要为一些类提供公共的实现代码时,应优先考虑抽象类。

9、委托和事件是什么

​ 见C#语言知识点

10、ASP.NET的页面拓展名.ascx、.aspx、.maser,列举其作用

image-20220613223751098

11、ADO.NET包括的对象,以及sql驱动举例,写出一个数据更新的例子

​ 对象:

​ ① SqlConnection:对SqlServer数据库执行连接

​ ②SqlCommand:对数据库发出一些指令

​ ③SqlDataReader:读取数据库中的数据

​ ④SqlDataAdapter:用于Connection对象和DataSet对象之间执行数据传输的工具

​ ⑤DataSet:存储数据

copy
string str = "server=localhost;uid=sa;pwd=8792716ase.+;database=TS"; SqlConnection conn = new SqlConnection(str); SqlCommand cmd = new SqlCommand("insert into student values(201215128,'张三','男',100,'JS')", conn); conn.Open(); int rows = cmd.ExecuteNonQuery(); Response.Write("行数:" + rows); conn.Close();

12、virtual与override与overload之间的区别

​ 详见C#语言知识点

​ ①虚方法,子类可以选择性重写此方法(用override关键字重写),也可以不重写。它不像抽象方法,子类必须重写(如果子类不重写,那么子类也必须是抽象类)

​ ②重载 (overload)某个方法是在同一个类中发生。两个函数的函数名虽然相同,但函数签名不同。

​ ③重写 (override) 就是在子类中重写父类中的方法

13、sql注入是什么,如何防止sql注入

​ 对于程序编写时的疏漏,利用SQL语句,达到无帐号登录,乃至改动数据库的目的。

copy
cat 'or' 1 '=' 1

​ 解决方法:

​ ① 对于用户输入的数据不是直接使用,而是进行适当的检验和修改

​ ②使用参数化语句来传递客户输入的內容

copy
SqlDataSource1.SelectCommand += "where Descn='"+TextBox1.Text.Replace("","''")+"";

14、服务器控件dropdownlist等,会列举几个

① HtmlTextArea控件

​ 在web页上创建多行文本框

② HtmlTable

​ 用来生成表格

③HtmlImage控件

​ 在web页面上显示图片

④HtmlButton控件

​ 通过按钮执行命令或动作

⑤ HtmlSelect控件

​ 创建选择框

⑥HtmlInputText控件

​ 创建一个服务器控件,允许创建单行文本框以接收用户输入。

⑦文本输入控件asp:TextBox

​ 让用户输入文本

⑧ 复选控件asp:CheckBox

​ 复选框

⑨ 单选按钮控件 asp:RadioButton

⑩列表控件 asp:listbox

​ 让文本框提供多个供用户选择的控件

⑪ ImageButton

​ 图片按钮

⑫ DropDownList

​ 下拉框

⑬ Calendar

​ 日历

15、autopostback的作用和用法

​ AutoPostBack 属性用于设置或返回当用户在列表控件中选择一个项目时,是否发生自动回传到服务器的操作。如果把该属性设置为 TRUE,则启用自动回传,否则为 FALSE。默认是 FALSE。

posted @   Purearc  阅读(76)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
🚀